"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como armazenar data/hora em UTC com JPA e Hibernate?

Como armazenar data/hora em UTC com JPA e Hibernate?

Publicado em 2024-11-09
Navegar:159

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

Armazenando data/hora no fuso horário UTC com JPA e Hibernate

Preocupado com discrepâncias de fuso horário ao lidar com data e hora em seu JPA/ Hibernar aplicativos? Este artigo explora como armazenar e recuperar dados temporais de forma eficaz no fuso horário UTC (GMT), garantindo um tratamento consistente e preciso em diferentes fusos horários.

Considere a entidade JPA anotada abaixo:

public class Event {
    @Id
    public int id;

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

Para garantir que a data armazenada reflita o horário UTC:

Solução:

Desde o Hibernate 5.2, a configuração do fuso horário UTC é simplificada. Adicionando a seguinte propriedade ao seu arquivo de configuração JPA (properties.xml):

ou para aplicativos Spring Boot, adicionando esta propriedade a application.properties:

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

Esta configuração garante que todos os dados temporais sejam armazenados e recuperado no fuso horário UTC. Por exemplo, a data 03 de fevereiro de 2008, 9h30, horário padrão do Pacífico (PST), será armazenada como 03 de fevereiro de 2008, 17h30 UTC no banco de dados e interpretada como tal quando recuperada.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3