【发布时间】:2012-04-07 01:56:44
【问题描述】:
我正在使用 java、mysql、hibernate (3.6.x)。 在 java 方面,我使用 java.sql.Timestamp 对象。 在 mysql 方面,我使用的是日期时间列。
我希望 hibernate 使用 UTC 时区保存/加载这些 Timestamp 对象,而不考虑 system/java/mysql 时区。
我发现“How to store date/time and timestamps in UTC time zone with JPA and Hibernate”提供了丰富的信息,但缺少一些我正在努力寻找的最终实施信息。
我想实现一个 UtcTimestampTypeDescriptor,如该线程中所示,并将休眠配置为使用它而不是普通的 TimestampTypeDescriptor。
如何将休眠配置为使用 UtcTimestamp 类型而不是默认的 Timestamp 类型?
【问题讨论】:
-
为什么不尝试实现community.jboss.org/wiki/UserTypeForNon-defaultTimeZone,然后提出具体问题。
-
我不想实现一个简单的用户类型并注释每个日期/tiemstamp 属性。相反,我想实现一个描述符并将其注册到休眠状态而不是默认的 timstamp 描述符。具体的问题是我在哪里用hibernate注册这个类型,所以它会替换默认的?
-
我尝试实现上述链接,它可以追溯到大约 2007 年的 Hibernate 3 早期版本,其 API 在 JPA 2 和 Hibnerate 4.x 下已经完全改变。该实现存在许多问题,使其完全不兼容。
标签: java mysql hibernate timezone timestamp