"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 e carimbos de data/hora em UTC com JPA e Hibernate?

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

Publicado em 2024-11-08
Navegar:592

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

Armazenando data/hora e carimbos de data/hora em UTC com JPA e Hibernate

Em Java Persistence API (JPA) e Hibernate, gerenciando data/hora e valores de carimbo de data/hora em diferentes fusos horários podem ser um desafio. Para garantir armazenamento e recuperação consistentes do horário UTC (Tempo Universal Coordenado), é crucial configurar a estrutura adequadamente.

Considere a entidade JPA anotada fornecida:

public class Event {
    @Id
    public int id;

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

Para armazenar a data/hora no fuso horário UTC, a propriedade hibernate.jdbc.time_zone pode ser configurada da seguinte forma:

Usando Properties.xml

No arquivo de configuração JPA properties.xml, adicione a seguinte propriedade:

Usando Spring Boot

Se estiver usando Spring Boot, adicione esta propriedade ao seu arquivo application.properties:

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

Com esta configuração, datas e carimbos de data/hora serão armazenados e recuperados no fuso horário UTC. Por exemplo, se a data for 03/02/2008, 9h30, horário padrão do Pacífico (PST), ela será armazenada como 03/02/2008, 17h30 UTC, no banco de dados. Quando recuperado, será interpretado como horário UTC, portanto, 17h30 UTC permanece 17h30 UTC mesmo após a conversão para outro fuso horário.

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