如何在 Grails 域类中正确设置属性值
Posted
技术标签:
【中文标题】如何在 Grails 域类中正确设置属性值【英文标题】:How to Properly Set Property Value in Grails Domain Class 【发布时间】:2014-10-31 10:17:42 【问题描述】:只是做了一些测试和谷歌搜索,并遇到了一个建议,如果你想设置一个默认值,你应该在一个属性的映射中设置 defaultValue 参数。最初我是这样设置的:
property = value
我可以根据我的默认值查看数据库中设置的值。当我把它切换到这个时:
static mapping =
property defaultValue: value
所以此时我已经按照上面的示例进行了设置,并且想知道我是否真的需要这样做。如果没有映射,它对我来说工作得很好,但也许映射做了我还不知道的其他事情。
【问题讨论】:
【参考方案1】:这取决于您对应用程序的预期行为。两者都是有效的,并且工作得很好。
首先,通过为域类的属性分配默认值,不仅会在数据库架构级别设置默认值,还会为域类的新实例提供默认值。
第二种,通过在映射闭包中设置默认值,只会在数据库模式级别设置默认值。
因此,根据您期望域类的新实例的行为方式,您可以做出选择。默认在实例和数据库架构级别,或仅在数据库架构级别。
选择权在你。灵活性。
【讨论】:
我个人更喜欢第一个,如果它同时设置它,在发布后我确实注意到了,我感谢你的回答并为我确认!以上是关于如何在 Grails 域类中正确设置属性值的主要内容,如果未能解决你的问题,请参考以下文章
Grails Scaffolding Templates - 从域类中获取属性