인프런 커뮤니티 질문&답변
JPA에서 엔티티 정의시에 시간 타입 정의에 대해서.
작성
·
64
0
어떻게 보면 이 수업과는 조금은 먼 이야기일수도 있는데 실제 프로젝트에서 JPA를 다루다보니 엔티티 선언시에 시간 타입 정의를 어떻게 처리해야 할지가 항상 고민이 되더라구요. 현재 프로젝트에서는 Entity 정의시에는 Instant를 사용을 하는데, 혹시 추천하시는 방법이 있을까요??
퀴즈
물리적 모델링의 주요 목적은 무엇일까요?
비즈니스 요구사항 분석
데이터 논리적 구조 정의
DBMS에 최적화된 성능 구현
데이터 중복 제거 및 무결성 강화
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. shoi1221님.
JPA에서 엔티티의 시간 타입을 정의할 때는 환경에 맞게 적절한 클래스를 선택하는 것이 중요합니다.
Instant: 기본적으로 UTC를 사용하며, 타임존을 고려하지 않아도 되는 글로벌 시간 저장에 적합합니다. 데이터베이스에 타임존 없이 UTC로 저장하는 경우에 사용합니다.
LocalDateTime: 로컬 타임존 정보를 포함하지 않는 시간이므로, 타임존 정보가 필요 없거나, 애플리케이션 전반에 걸쳐 일관된 타임존을 사용할 때 적합합니다.
ZonedDateTime: 타임존을 포함하여 저장해야 하는 경우에 사용합니다. 사용자의 타임존 정보가 필요할 때 유용합니다.
각 시간 형식의 활용에 대한 보다 깊이 있는 설명과 예시는 JPA의 공식 문서나 아래 질문과 답변 및 강의를 통해 더 많은 정보를 찾아보실 수 있습니다:
이 중 적절한 것을 선택하여 프로젝트의 요구 사항에 맞춰 사용하시면 됩니다. Instant는 UTC 기준으로 저장하여 글로벌 서비스에 적합하지만, 명확한 타임존 정보를 사용해야 하는 경우 ZonedDateTime을 고려할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




