Heim > Java > javaLernprogramm > Wie speichere ich Datum/Uhrzeit und Zeitstempel in der UTC-Zeitzone mit JPA und Hibernate?

Wie speichere ich Datum/Uhrzeit und Zeitstempel in der UTC-Zeitzone mit JPA und Hibernate?

Barbara Streisand
Freigeben: 2024-10-31 16:46:30
Original
767 Leute haben es durchsucht

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

Speichern von Datum/Uhrzeit und Zeitstempeln in der UTC-Zeitzone mit JPA und Ruhezustand

Bei der Arbeit mit zeitlichen Daten in Datenbanksystemen ist es wichtig, Folgendes zu tun Berücksichtigen Sie die Zeitzone, in der die Daten gespeichert und interpretiert werden. Für Anwendungen, die eine konsistente Datums- und Uhrzeitverarbeitung über mehrere Zeitzonen hinweg erfordern, bietet die Verwendung der koordinierten Weltzeit (UTC) eine Standardreferenz.

Um JPA und Hibernate so zu konfigurieren, dass Datums-/Uhrzeitwerte als UTC gespeichert und abgerufen werden Unabhängig von der lokalen Zeitzone können die folgenden Schritte ausgeführt werden:

JPA-Entitätskonfiguration:

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

    @Temporal(TemporalType.TIMESTAMP)
    @TimeZone(value = TimeZone.UTC)
    public java.util.Date date;
}</code>
Nach dem Login kopieren

Durch Hinzufügen von @TimeZone(value = TimeZone.UTC ) zum annotierten Datumsfeld geben Sie explizit an, dass das Datum in UTC-Zeit interpretiert und gespeichert werden soll.

Hibernate-Konfiguration für UTC-Zeitzone:

Hibernate 5.2 und höher:

In Hibernate 5.2 und späteren Versionen können Sie die von Hibernate verwendete Standardsystemzeitzone überschreiben, indem Sie die Eigenschaft hibernate.jdbc.time_zone in Ihrer JPA-Konfigurationsdatei (properties.xml) konfigurieren ):

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

Spring Boot-Anwendungen:

Wenn Sie Spring Boot verwenden, können Sie die obige Eigenschaft in Ihrer application.properties-Datei festlegen:

<code class="properties">spring.jpa.properties.hibernate.jdbc.time_zone=UTC</code>
Nach dem Login kopieren

Beispiel:

Betrachten Sie die im Beispiel definierte JPA-Entität. Wenn das Datumsfeld auf 03. Februar 2008, 9:30 Uhr PST (Pacific Standard Time) eingestellt ist, speichert Hibernate den Wert als 03. Februar 2008, 17:30 Uhr UTC in der Datenbank. Dadurch wird sichergestellt, dass die Zeit unabhängig von den Server- oder lokalen Zeitzoneneinstellungen konsistent in der UTC-Zeitzone gespeichert und abgerufen wird.

Das obige ist der detaillierte Inhalt vonWie speichere ich Datum/Uhrzeit und Zeitstempel in der UTC-Zeitzone mit JPA und Hibernate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage