繁体   English   中英

如何在grails域中捕获毫秒

[英]How to capture milliseconds in grails domain

我有一个grails域,用于在MySQL中存储数据。

在其中我有一个Date属性,它在DB中创建一个DateTime字段。 但是,除了日期之外,我还希望捕获毫秒数。

有没有办法捕获毫秒?

例:

Class MyClass {

  Date dateCreated

}

在MySQL中存储数据为2014-10-06 16:21:57但我也想捕获几毫秒。

通过定义对象的小数点数,MySQL 5.6.4及更高版本可以在数据库中为datetime对象节省毫秒数。 (在这里阅读更多: MySQL参考手册 )。 默认情况下,Grails / Gorm不会这样做。 幸运的是,通过在域中定义sqlType可以很容易地解决这个问题,如下所示:

class ExampleDomain {
    Date date

    static mapping = {
        date sqlType: 'datetime(3)'
    }
}

你可以使用bigint(20)。 如果要在保存实例时自动存储unix epoch,那么你的groovy / grails域可能看起来像那样:

class myClass {

  Integer id
  Long timestamp = System.nanoTime()

  static mapping = {
    timestamp sqlType: "bigint"
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM