【发布时间】:2012-01-19 16:39:21
【问题描述】:
我看到了许多与我遇到的问题相关的线程,但我无法找到解决我的问题的方法,
我在 Date 类型的实体中有一个属性。它的定义是这样的,
@Column(name="CREATION_DATETIME")
@Temporal(TemporalType.TIMESTAMP)
private Date creationDateTime
当我打印日期值时,它是在本地时区,这是可以接受的,因为 Date 中的 toString() 使用默认时区;这将是程序运行的时区。当存储在数据库中时,它存储的是本地时区值;但我希望它在没有任何时区转换的情况下存储原始值。 Hibernate 在这里处理持久性。为什么会发生这种情况,如何解决。?
在此处显示一个示例以明确我的问题,日期 2011-11-30T19:02:00+0000 存储为 30-NOV-11 01.02.00.000000000 PM。本地时区是 CST,因此它会执行 -0600 并存储它。
谢谢 桑杰
【问题讨论】:
-
你怎么知道它是这样存储的,而不是在查询数据库时显示的?
标签: hibernate date jpa timezone