如果我們有一個域對象,例如銷售交易,我們希望銷售的日期是現在。理想情況下,調用代碼甚至不應該能夠設置屬性,但這大概是不可能的。grails如何將默認值設置爲日期
如果我們考慮以下對象:
class salesTransaction{
String description
Item item
Date soldAt
static constraintes = {
description blank: false
item blank: false
soldAt blank: false, defaultValue: new Date()
}
這看起來像它應該工作,但保存()總是失敗財產soldAt不能爲空。
如果我在Java中做這個bean,我只會公開一個只接受必要參數的構造函數,可選參數的setter和soldAt的setter。我認爲沒有辦法用grails來模擬這個。
反正anyohne知道怎麼做默認參數?
最好的解決方案是在數據庫中完成它,即將數據庫中的默認值設置爲「now()」,但無法使用grails約束進行指定。
人們如何去實施這種事情?
定義屬性爲'日期soldAt =新的日期()',這將讓任何實例的默認值是當前的日期和時間實例new'ed。 –
你可以像你所描述的那樣創建構造函數,在這裏沒有看到任何問題。你試過了嗎? –