강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

shoi1221님의 프로필 이미지
shoi1221

작성한 질문수

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

데이터 타입2 - 날짜와 시간 타입

JPA에서 엔티티 정의시에 시간 타입 정의에 대해서.

작성

·

19

0

어떻게 보면 이 수업과는 조금은 먼 이야기일수도 있는데 실제 프로젝트에서 JPA를 다루다보니 엔티티 선언시에 시간 타입 정의를 어떻게 처리해야 할지가 항상 고민이 되더라구요. 현재 프로젝트에서는 Entity 정의시에는 Instant를 사용을 하는데, 혹시 추천하시는 방법이 있을까요??

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. shoi1221님.

JPA에서 엔티티의 시간 타입을 정의할 때는 환경에 맞게 적절한 클래스를 선택하는 것이 중요합니다.

  1. Instant: 기본적으로 UTC를 사용하며, 타임존을 고려하지 않아도 되는 글로벌 시간 저장에 적합합니다. 데이터베이스에 타임존 없이 UTC로 저장하는 경우에 사용합니다.

  2. LocalDateTime: 로컬 타임존 정보를 포함하지 않는 시간이므로, 타임존 정보가 필요 없거나, 애플리케이션 전반에 걸쳐 일관된 타임존을 사용할 때 적합합니다.

  3. ZonedDateTime: 타임존을 포함하여 저장해야 하는 경우에 사용합니다. 사용자의 타임존 정보가 필요할 때 유용합니다.

각 시간 형식의 활용에 대한 보다 깊이 있는 설명과 예시는 JPA의 공식 문서나 아래 질문과 답변 및 강의를 통해 더 많은 정보를 찾아보실 수 있습니다:

이 중 적절한 것을 선택하여 프로젝트의 요구 사항에 맞춰 사용하시면 됩니다. Instant는 UTC 기준으로 저장하여 글로벌 서비스에 적합하지만, 명확한 타임존 정보를 사용해야 하는 경우 ZonedDateTime을 고려할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

shoi1221님의 프로필 이미지
shoi1221

작성한 질문수

질문하기