„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie speichere ich Datum/Uhrzeit und Zeitstempel in UTC mit JPA und Hibernate?

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

Veröffentlicht am 08.11.2024
Durchsuche:268

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

Speichern von Datum/Uhrzeit und Zeitstempeln in UTC mit JPA und Hibernate

Verwalten von Datum/Uhrzeit in Java Persistence API (JPA) und Hibernate und Zeitstempelwerte über verschiedene Zeitzonen hinweg können eine Herausforderung sein. Um eine konsistente Speicherung und Abfrage der UTC-Zeit (koordinierte Weltzeit) sicherzustellen, ist es wichtig, das Framework entsprechend zu konfigurieren.

Bedenken Sie die bereitgestellte annotierte JPA-Entität:

public class Event {
    @Id
    public int id;

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

Um Datum/Uhrzeit in der UTC-Zeitzone zu speichern, kann die Eigenschaft hibernate.jdbc.time_zone wie folgt konfiguriert werden:

Verwenden von Properties.xml

Fügen Sie in der JPA-Konfigurationsdatei „properties.xml“ die folgende Eigenschaft hinzu:

Spring Boot verwenden

Wenn Sie Spring Boot verwenden, fügen Sie diese Eigenschaft zu Ihren application.properties hinzu file:

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

Mit dieser Konfiguration werden Datumsangaben und Zeitstempel in der UTC-Zeitzone gespeichert und abgerufen. Wenn das Datum beispielsweise 2008-02-03 9:30 Uhr Pacific Standard Time (PST) ist, wird es als 2008-02-03 17:30 Uhr UTC in der Datenbank gespeichert. Beim Abrufen wird es als UTC-Zeit interpretiert, sodass 17:30 Uhr UTC auch nach der Konvertierung in eine andere Zeitzone 17:30 Uhr UTC bleibt.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3