2014-09-06 89 views
1

只是做了一些測試,谷歌搜索和跨建議跑,說明你應該爲屬性,如果你想設置的默認值設置將默認值參數的映射。本來我有它像這樣設置:如何正確設置屬性值在Grails領域類

property = value 

我可以看到在我的默認值設置在數據庫中的值。當我打開它這樣的:

static mapping = { 
    property defaultValue: value 
} 

所以在這一點上,我已經都設置像上面的例子,如果我真的需要的不知道。它沒有映射對我來說工作正常,但也許映射做了一些我還沒有意識到的東西。

回答

2

這取決於你的應用程序的預期行爲。兩者都是有效的,並且工作得很好。

首先,通過分配在域類的屬性的默認不但設置在數據庫架構級別默認,但在你的領域類的新實例提供一個默認的。

第二,通過設置映射閉包內的默認值將只設置在數據庫架構級別的缺省值。

所以,這取決於你如何指望你的域類的新實例的行爲,你有一個選擇。在實例和數據庫模式級別缺省,或者僅在數據庫模式級別。

選擇是你的。靈活性。

+0

我個人比較喜歡第一個,如果將其設置在兩個,這張貼在此之後我注意到,我很欣賞你的答案,並確認我! – 2014-09-07 22:01:22