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 サイトの他の関連記事を参照してください。