我有一个使用Grails 1.3.7的应用程序,我刚刚迁移到了Grails 2.0。该应用程序利用自动dateCreated
和lastUpdated
字段来管理与对象的创建和修改相关的时间戳。升级后,出现以下错误:
| Running Grails application
| Error 2012-01-29 22:36:53,504 [Thread-8] ERROR util.JDBCExceptionReporter - ERROR: null value in column "date_created" violates not-null constraint
| Error 2012-01-29 22:36:53,510 [Thread-8] ERROR events.PatchedDefaultFlushEventListener - Could not synchronize database state with session
注释掉我的域类中的上述字段会使问题消失。
Grails 2.0中是否已弃用
dateCreated
和lastUpdated
字段?如果是这样,这是否意味着我必须编写代码来手动处理此功能,或者代码已移至某种类型的插件(例如audit-trail插件)?
最佳答案
好的,通过在域类定义中将autoTimestamp变量手动设置为“true”来解决此问题:
static mapping = {
autoTimestamp true
}
我猜想将项目从Grails 1.3.7迁移到2.0.0后没有设置此属性。
关于grails - Grails 2.0中的dateCreated,lastUpdated字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052292/