2013-12-12 92 views
0

我有這個很簡單的Grails實體:Grails - 爲什麼setDateCreated被多次調用?

package timestamp.fail 

class Post { 

String title 
String body 
Date dateCreated 

static constraints = { 
    title(blank: false) 
    body(blank: false) 
} 

void setDateCreated(Date d){ 
    dateCreated = d 

    if(dateCreated){ 
     System.out.println(" dateCreated OK!!! ") 
    } 
    else{ 
     System.out.println(" dateCreated null =/ ") 
    } 
} 
} 

我一直在做了它的一些調試,發現當我保存實例setDateCreated多次調用。我注意到一件奇怪的事情是,當從BootStrap.groovy中保存一個實例時,第一個setDateCreated被調用,但「d」參數爲null,儘管接下來的兩次調用是正確的。

爲什麼被稱爲這麼多次?它背後是否有某種生命週期?我應該依靠哪種執行方式來創建創建日期的邏輯?我不應該依賴這個日期去做別的事嗎?

謝謝!

+0

關於http://jira.grails.org/browse/GRAILS-9805的評論可能有助於理解某些方面。 –

+0

謝謝,FlareCoder! – felipecao

回答

相關問題