「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JPA と Hibernate を使用して日付/時刻とタイムスタンプを UTC で保存するにはどうすればよいですか?

JPA と Hibernate を使用して日付/時刻とタイムスタンプを UTC で保存するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:754

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

JPA と Hibernate を使用した UTC での日付/時刻とタイムスタンプの保存

Java Persistence API (JPA) と Hibernate での日付/時刻の管理また、異なるタイムゾーンにまたがるタイムスタンプ値は課題となる可能性があります。 UTC (協定世界時) 時間の一貫した保存と取得を保証するには、フレームワークを適切に構成することが重要です。

提供される注釈付き JPA エンティティを検討します。

public class Event {
    @Id
    public int id;

    @Temporal(TemporalType.TIMESTAMP)
    public java.util.Date date;
}

日付/時刻を UTC タイム ゾーンで保存するには、hibernate.jdbc.time_zone プロパティを次のように構成できます。

Properties.xml の使用

JPA 設定ファイル property.xml に、次のプロパティを追加します:

Spring Boot を使用する

Spring Boot を使用する場合は、次のプロパティを application.properties ファイルに追加します:

spring.jpa.properties.hibernate.jdbc.time_zone=UTC

この設定では、日付とタイムスタンプは UTC タイム ゾーンで保存および取得されます。たとえば、日付が太平洋標準時 (PST) 2008-02-03 午前 9:30 の場合、データベースには 2008-02-03 午後 5:30 UTC として保存されます。取得すると UTC 時間として解釈されるため、別のタイム ゾーンに変換した後でも、UTC の午後 5 時 30 分は UTC の午後 5 時 30 分のままになります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3