>  기사  >  Java  >  JPA 및 Hibernate를 사용하여 UTC로 날짜/시간 값을 저장하고 검색하는 방법은 무엇입니까?

JPA 및 Hibernate를 사용하여 UTC로 날짜/시간 값을 저장하고 검색하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-31 16:40:01609검색

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

JPA 및 Hibernate에서 UTC 시간대를 사용한 날짜 및 시간 관리

문제:

UTC 시간대의 날짜/시간 값을 저장하고 검색하도록 JPA 및 Hibernate를 어떻게 구성할 수 있습니까?

JPA 엔터티 구조:

주석이 추가된 다음 JPA 엔터티를 고려하세요.

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

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

시나리오:

날짜 값이 2008년 2월 3일 오전 9시 30분 태평양 표준시(PST)라고 가정합니다. 우리는 해당 UTC 시간인 2008-2월-03 오후 5시 30분을 데이터베이스에 저장하는 것을 목표로 합니다. 마찬가지로, 데이터베이스에서 검색할 때 이 날짜는 UTC로 해석되어야 합니다. 즉, 표시될 때 오후 5시 30분(UTC)은 오전 9시 30분(PST)으로 변환된다는 의미입니다.

해결책:

Hibernate 5.2부터는 다음 속성을 활용하여 UTC 시간대를 명시적으로 설정할 수 있습니다.

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

이 속성을 Properties.xml JPA 구성 파일에 추가하세요.

Spring Boot 사용자의 경우 , application.properties 파일에 속성을 추가합니다:

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

이 구성을 구현함으로써 JPA와 Hibernate는 모든 날짜/시간 값이 UTC 시간대에 저장되고 검색되도록 보장하여 일관된 해석과 다양한 시간대에 걸쳐 정확성을 보장합니다.

위 내용은 JPA 및 Hibernate를 사용하여 UTC로 날짜/시간 값을 저장하고 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.