Hibernate在UTC中保存日期,然后返回UTC

时间:2019-05-11 03:39:34

标签: java hibernate spring-boot timezone

我正在编写一个Spring Boot后端应用程序,该应用程序向React JS前端提供几个RESTful Web服务。我正在使用Hibernate作为ORM。在我的实体中,保存记录时,我使用@CreationTimestamp @Temporal(TemporalType.TIMESTAMP) @Column(name="created_date") private Date createdDate; 批注保存创建日期时间。

hibernate.jdbc.time_zone=UTC

为了将此值保存为UTC,我在下面的hibernate属性中使用了

hibernate.jdbc.time_zone=UTC

但是由于我的应用程序前端可以被不同时区的用户访问,所以当从数据库中查询记录时,我想将其作为UTC并传递到前端而不转换为本地时间区。然后,前端代码可以将值转换为相应的时区。 由于我正在使用属性@CreationTimestamp,因此日期已正确保存在UTC中的数据库中。

但是当我从数据库中查询时,日期再次被转换为服务器的本地时区。我不希望第二件事发生。我想获取UTC值。我更喜欢仍然保留{{1}}注释的解决方案。 有人可以为此建议解决方案吗?谢谢。

0 个答案:

没有答案