2014-09-06 75 views
1

只是做了一些测试,谷歌搜索和跨建议跑,说明你应该为属性,如果你想设置的默认值设置将默认值参数的映射。本来我有它像这样设置:如何正确设置属性值在Grails领域类

property = value 

我可以看到在我的默认值设置在数据库中的值。当我打开它这样的:

static mapping = { 
    property defaultValue: value 
} 

所以在这一点上,我已经都设置像上面的例子,如果我真的需要的不知道。它没有映射对我来说工作正常,但也许映射做了一些我还没有意识到的东西。

回答

2

这取决于你的应用程序的预期行为。两者都是有效的,并且工作得很好。

首先,通过分配在域类的属性的默认不但设置在数据库架构级别默认,但在你的领域类的新实例提供一个默认的。

第二,通过设置映射闭包内的默认值将只设置在数据库架构级别的缺省值。

所以,这取决于你如何指望你的域类的新实例的行为,你有一个选择。在实例和数据库模式级别缺省,或者仅在数据库模式级别。

选择是你的。灵活性。

+0

我个人比较喜欢第一个,如果将其设置在两个,这张贴在此之后我注意到,我很欣赏你的答案,并确认我! – 2014-09-07 22:01:22