Grails-为什么setDateCreated被多次调用?
我有一个非常简单的Grails实体:Grails-为什么setDateCreated被多次调用?,grails,timestamp,gorm,Grails,Timestamp,Gorm,我有一个非常简单的Grails实体: 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){
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,尽管接下来的两次调用都是正确的
为什么叫这么多次?它背后是否有某种生命周期?我应该依靠哪个执行来对创建日期进行逻辑处理?我不应该依靠这个日期做其他事情吗
谢谢 这是因为grails的特性。上的注释可能有助于理解某些方面。