如何在JPA中保留原始时区

时间:2015-09-15 17:07:53

标签: java hibernate jpa

特别是在SQL服务器(我假设其他人)中,有一个datetimeoffset类型可以存储时间戳,其偏移量其他而不是GMT。 (看起来像这样#34; 1998-01-01 15:00:00.0000000 +06:00")

但是尝试将日历持久保存到数据库会自动将其转换为GMT(虽然我无法告诉谁做了JPA,Hibernate或sqljdbc)所以它看起来像这样#34; 1998 -01-01 9:00:00.0000000 +00:00"

有没有办法防止某些属性出现这种情况?

2 个答案:

答案 0 :(得分:2)

尽管可能还有其他使用SQL数据库的解决方案,我总是遵循这种方法:

在数据库或文件中,我总是以UTC格式存储时间,没有例外。 如果必须保留时区,例如UI,则我将UTC偏移存储在额外的字段中。

这样我就有了正确的时间,如果需要,则会保留时区。

答案 1 :(得分:1)

找到了一种方法

4*a*c