Grails - 为什么setDateCreated被多次调用?

时间:2013-12-12 22:51:46

标签: 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){
        System.out.println(" dateCreated OK!!! ")
    }
    else{
        System.out.println(" dateCreated null =/ ")
    }
}
}

我一直在对它进行一些调试,并注意到在保存实例时多次调用setDateCreated。我注意到一件奇怪的事情是,当从BootStrap.groovy保存一个实例时,调用了第一个setDateCreated,“d”参数为空,尽管以下两次它被正确调用。

为什么这么多次被召唤?它背后是否存在某种生命周期?我应该依赖哪个执行来创建日期?我不应该依赖这个日期来做别的事吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

这是因为autoTimestemp grails功能。