Almacenamiento de fecha/hora en la zona horaria UTC con JPA e Hibernate
Preocupado por las discrepancias de zona horaria al manejar la fecha y la hora en su JPA/ ¿Hibernar aplicaciones? Este artículo explora cómo almacenar y recuperar datos temporales de manera efectiva en la zona horaria UTC (GMT), garantizando un manejo consistente y preciso en diferentes zonas horarias.
Considere la entidad JPA anotada a continuación:
public class Event {
@Id
public int id;
@Temporal(TemporalType.TIMESTAMP)
public java.util.Date date;
}
Para garantizar que la fecha almacenada refleje la hora UTC:
Solución:
Desde Hibernate 5.2, la configuración de la zona horaria UTC se simplifica. Agregando la siguiente propiedad a su archivo de configuración JPA (properties.xml):
o para aplicaciones Spring Boot, agregue esta propiedad a application.properties:
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
Esta configuración garantiza que se almacenen todos los datos temporales y recuperado en la zona horaria UTC. Por ejemplo, la fecha 03 de febrero de 2008 a las 9:30 a. m., hora estándar del Pacífico (PST) se almacenará como 03 de febrero de 2008 a las 5:30 p. m. UTC en la base de datos y se interpretará como tal cuando se recupere.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3