在我们的Grails应用程序中,我们有一个特定的域类,其自动生成的dateCreated
值有时是错误的。数据库中保存的日期时间包含年,月和日期,但缺少小时,分钟和秒。域类的定义如下:
class Monster {
// ...various other fields, but no hibernate hooks, or anything clever like that
Date dateCreated
Date lastUpdated
}
它由MySQL数据库中的表支持,列date_created
,类型为datetime
。该列不为null,但没有其他约束,触发器等。
大约六分之一的怪物受到影响,我们尚未看到任何模式。我们从未明确地设置dateCreated
,从不在我们的应用程序代码中设置任何地方。关于Monster的lastUpdated
总是完整的,dateCreated
对我们所有的域对象都没有问题,除了Monster。
这些症状对任何人都有意义吗?我们开始时假设我们是以一种愚蠢的方式自己写作,但我们一直在寻找几天,甚至还没有找到任何含糊不清的东西。