hibernate - Joda 时间 DateTime 错误地存储在数据库中

标签 hibernate grails groovy grails-orm jodatime

我正在存储 JodaTime DateTime字段到 timestamptz列使用 org.jadira.usertype:usertype.jodatime:1.9 .应用服务器有 +4 时区。数据库服务器 +9 时区。 new DateTime()结果 ${currentTime+1hour}+9其中 +9 是时区(正确值是 ${currentTime+5hours)+9 )。

我没有找到任何相关主题。 java.util.Date正确存储。

域对象具有以下映射属性:

static mapping = {
    dateCreated sqlType:'timestamptz'
}

如何正确存储 DateTime?

最佳答案

只需设置 JPA 属性:

<property name="jadira.usertype.autoRegisterUserTypes"
          value="true"/>
<property name="jadira.usertype.databaseZone"
          value="jvm"/>
<property name="jadira.usertype.javaZone"
          value="jvm"/>

关于hibernate - Joda 时间 DateTime 错误地存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10075385/

相关文章:

java - 像在 Hibernate 中一样选择

unit-testing - MockDomain 调用提供夹具域数据不起作用,我错过了什么? Grails 2.0.1

java - 我应该在 grails 2.0 中使用哪个 paypal/payment 插件?

grails - 一对多关系的Gorm映射/自引用

xml - 使用 Groovy+Smooks 向现有 XML 添加命名空间声明

java - 为什么 Hibernate 对惰性关系属性字段执行 SELECT 查询

java - 更新期间@JoinTable外键错误

grails - grails Config.groovy 中的 log4 属性注入(inject)

grails - 将 GroovyRowResult 列表索引到 Map 中

java - JPA 获取摘要对象的最佳方法是什么?