使用Spring储存库保存时区

问题描述 投票:0回答:1

我尝试使用Spring存储库将对象保存到H2数据库中。我需要保留原始时区,但已将其转换为本地时区。

我有一个对象,其字段为ZonedDateTime dateTime,并标有@Column(columnDefinition= "TIMESTAMP WITH TIME ZONE"),因此在H2中,值随时区保存。为了保存,我使用存储库extends JpaRepository,因此仅使用jpaRepository.save(entity)

2019-10-04T15:59:50.869-04:00 [美国/纽约]成为2019-10-04T19:59:50.869 + 03:00 [欧洲/莫斯科]我的情况不适合是否有任何属性可以防止转换为本地区域?

java spring hibernate jdbc
1个回答
0
投票

经过一些调查,我认为您无法使它正常工作(例如,TIMESTAMP WITH TIME ZONE + JDBC驱动程序+数据库+ Hibernate / JPA)。

所以,我会做什么:

  • 将时间戳保存为UTC。
  • 单独存储用户的时区。
  • [如果需要,请根据用户的时区向用户显示时间戳。
© www.soinside.com 2019 - 2024. All rights reserved.