Maison  >  Article  >  Java  >  Comment stocker la date/heure et les horodatages au format UTC avec JPA et Hibernate ?

Comment stocker la date/heure et les horodatages au format UTC avec JPA et Hibernate ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 07:08:02497parcourir

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

Stockage de la date/heure et des horodatages en UTC avec JPA et Hibernate

Dans l'API Java Persistence (JPA) et Hibernate, gestion de la date/heure et les valeurs d'horodatage dans différents fuseaux horaires peuvent constituer un défi. Pour garantir un stockage et une récupération cohérents de l'heure UTC (temps universel coordonné), il est crucial de configurer le cadre de manière appropriée.

Considérez l'entité JPA annotée fournie :

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

    @Temporal(TemporalType.TIMESTAMP)
    public java.util.Date date;
}</code>

Pour stocker la date /time dans le fuseau horaire UTC, la propriété hibernate.jdbc.time_zone peut être configurée comme suit :

À l'aide de Properties.xml

Dans le fichier de configuration JPA Properties.xml , ajoutez la propriété suivante :

<code class="XML"><property name="hibernate.jdbc.time_zone" value="UTC"/></code>

Utilisation de Spring Boot

Si vous utilisez Spring Boot, ajoutez cette propriété à votre fichier application.properties :

<code class="Properties">spring.jpa.properties.hibernate.jdbc.time_zone=UTC</code>

Avec cette configuration, les dates et les horodatages seront stockés et récupérés dans le fuseau horaire UTC. Par exemple, si la date est le 03/02/2008 à 9h30, heure normale du Pacifique (PST), elle sera stockée sous la forme 03/02/2008 à 17h30 UTC dans la base de données. Une fois récupéré, il sera interprété comme l'heure UTC, donc 17h30 UTC reste 17h30 UTC même après la conversion vers un autre fuseau horaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn