我有一个grails域,用于在MySQL中存储数据。
在其中,我有一个Date
属性,可在数据库中创建DateTime
字段。但是,除了日期之外,我还希望捕获毫秒数。
有没有办法捕获毫秒?
示例:
Class MyClass {
Date dateCreated
}
将数据存储在MySQL 2014-10-06 16:21:57
中,但我也希望捕获毫秒数。
答案 0 :(得分:2)
MySQL 5.6.4及更高版本可以通过定义对象的小数点数量来保存数据库中datetime对象的毫秒数。 (在此处阅读更多内容:MySQL reference manual)。默认情况下,Grails / Gorm不会这样做。幸运的是,通过在域中定义sqlType可以很容易地解决这个问题:
class ExampleDomain {
Date date
static mapping = {
date sqlType: 'datetime(3)'
}
}
答案 1 :(得分:0)
你可以使用bigint(20)。如果您希望在保存实例时自动存储unix纪元,那么您的groovy / grails域可能看起来像那样:
class myClass {
Integer id
Long timestamp = System.nanoTime()
static mapping = {
timestamp sqlType: "bigint"
}
}