Stockage de la date/heure dans le fuseau horaire UTC avec JPA et Hibernate
Préoccupation des écarts de fuseau horaire lors de la gestion de la date et de l'heure dans votre JPA/ Mettre les applications en veille prolongée ? Cet article explique comment stocker et récupérer efficacement des données temporelles dans le fuseau horaire UTC (GMT), garantissant une gestion cohérente et précise dans différents fuseaux horaires.
Considérez l'entité JPA annotée ci-dessous :
public class Event {
@Id
public int id;
@Temporal(TemporalType.TIMESTAMP)
public java.util.Date date;
}
Pour garantir que la date stockée reflète l'heure UTC :
Solution :
Depuis Hibernate 5.2, la configuration du fuseau horaire UTC est simplifiée. En ajoutant la propriété suivante à votre fichier de configuration JPA (properties.xml) :
ou pour les applications Spring Boot, en ajoutant cette propriété à application.properties :
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
Cette configuration garantit que toutes les données temporelles sont stockées et récupéré dans le fuseau horaire UTC. Par exemple, la date 2008-Feb-03 9h30 Pacific Standard Time (PST) sera stockée comme 2008-Feb-03 17h30 UTC dans la base de données et interprétée comme telle lors de sa récupération.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3