我有这个非常简单的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){
System.out.println(" dateCreated OK!!! ")
}
else{
System.out.println(" dateCreated null =/ ")
}
}
}
我一直在对它进行一些调试,并注意到在保存实例时多次调用setDateCreated。我注意到一件奇怪的事情是,当从BootStrap.groovy保存一个实例时,调用了第一个setDateCreated,“d”参数为空,尽管以下两次它被正确调用。
为什么这么多次被召唤?它背后是否存在某种生命周期?我应该依赖哪个执行来创建日期?我不应该依赖这个日期来做别的事吗?
谢谢!