본문 바로가기
Spring/JPA

Entity-Table 매핑 - 필드 매핑(@Temporal)

by YellowCow 2023. 2. 23.

@Temporal 타입은 Java의 날짜타입을 매핑할 때 사용한다

 

@Temporal 애너테이션의 옵션은 아래와 같이 존재한다

 

  • TemporalType.DATE - 날짜만 저장(Ex. 2023-01-01)
  • TemporalType.TIME - 시간만 저장(Ex. 10:23:12)
  • TemporalType.TIMESTAMP - 날짜와 시간을 저장(Ex. 2023-01-01 10:23:12)

사용 예는 아래와 같다

@Entity
public class Member{
    @Id
    private userId;
    
    @Temporal(value=TemporalType.DATE)
    private Date birthDay
    
    @Temporal(value=TemporalType.TIMESTAMP)
    private Date createdDate
}

 

그리고 하이버네이트 최신버전을 사용할 경우,

LocalDate와 LocalDateTime을 이용하면

@Temporal 애너테이션 없이도 Date 타입과 TimeStamp타입을 지정할 수 있다

아래는 위 코드의 Date 타입을 각각 LocalDate와 LocalDateTime 타입으로 수정한 예시이다

@Entity
public class Member{
    @Id
    private userId;
    
    private LocalDate birthDay
    
    private LocalDateTime createdDate
}

 

댓글