首页  >  文章  >  Java  >  如何使用 JPA 和 Hibernate 以 UTC 格式存储日期/时间?

如何使用 JPA 和 Hibernate 以 UTC 格式存储日期/时间?

Barbara Streisand
Barbara Streisand原创
2024-11-02 21:01:30328浏览

How to Store Date/Time in UTC with JPA and Hibernate?

使用 JPA 和 Hibernate 在 UTC 时区存储日期/时间

在 JPA/ 中处理日期和时间时担心时区差异休眠应用程序?本文探讨了如何在 UTC (GMT) 时区有效存储和检索时态数据,确保跨不同时区进行一致且准确的处理。

考虑下面带注释的 JPA 实体:

<code class="java">public class Event {
    @Id
    public int id;

    @Temporal(TemporalType.TIMESTAMP)
    public java.util.Date date;
}</code>

要确保存储的日期反映 UTC 时间:

解决方案:

从 Hibernate 5.2 开始,配置 UTC 时区得到了简化。通过将以下属性添加到 JPA 配置文件 (properties.xml):

<code class="xml"><property name="hibernate.jdbc.time_zone" value="UTC"/></code>

,或者对于 Spring Boot 应用程序,将此属性添加到 application.properties:

<code class="properties">spring.jpa.properties.hibernate.jdbc.time_zone=UTC</code>

此配置确保所有时态数据都在 UTC 时区存储和检索。例如,日期 2008 年 2 月 3 日上午 9:30 太平洋标准时间 (PST) 将在数据库中存储为 2008 年 2 月 3 日下午 5:30 UTC,并在检索时按此解释。

以上是如何使用 JPA 和 Hibernate 以 UTC 格式存储日期/时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn