ホームページ  >  記事  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。