将ZonedDateTime与Grails 3 lastUpdated和dateCreated字段一起使用

时间:2018-11-28 14:46:02

标签: grails gorm

Grails 3是否为dateCreated和lastUpdated字段提供对使用除Date以外的其他任何类的支持,例如ZonedDateTime?例如,

...
ZonedDateTime dateCreated
ZonedDateTime lastUpdated
...

我知道MySQL支持ZonedDateTime,所以我很好奇GORM是否支持它。

2 个答案:

答案 0 :(得分:1)

是的,确实如此。由于Grails 3仍支持Java 7,因此您需要在build.gradle中添加一些依赖项以添加对此的支持:

// Hibernate java 8 java.time support 
compile "org.hibernate:hibernate-java8:$hibernateVersion" 
// Grails java 8 java.time support
compile "org.grails.plugins:grails-java8:1.2.3"

将Java.time与Grails结合使用时,有很多不错的技巧:https://giri-tech.blogspot.com/2018/01/add-time-zone-sense.html

答案 1 :(得分:0)

当然,不。但是,如果您愿意的话,自己动手使用它们将是微不足道的。您可能要先关闭域对象的自动时间戳记:

static mapping = {
    autoTimestamp false
}

然后使用事件(beforeUpdate,beforeInsert)填充:

def beforeUpdate() {
    lastUpdated = // whatever you want it to be
}