반응형
JPA Date or Timestamp 저장 시 유용한 어노테이션에 대해 알아보겠습니다.
1. @Temporal
@Temporal 은 날짜, 시간 타입 매핑에 필수 어노테이션 입니다.
TemporalType.DATE, TemporalType.TIME, TemporalType.TIMESTAMP 3가지가 있으며 각각의 컬럼 타입에 따라 설정하시면 됩니다.
2. @CreationTimestamp
신규저장 시 자동으로 현재 시간을 넣어주는 어노테이션 입니다.
@Embeddable @EmbededId의 경우 정상동작 하지 않음에 주의 해야 합니다.
엔티티 클래스 필드에만 적용합니다.
3. @UpdateTimestamp
@CreationTimestamp와 비슷하게 수정 시 현재 시간을 자동으로 업데이트 해주는데 사용합니다.
마찮가지로 엔티티 클래스 필드에만 적용합니다.
4. 예시
@Entity
@Table(name = "USER", schema = "스키마")
public class USER {
@Column(name = "user_id")
@Id
private String userId;
@Column(name = "user_nm")
private String userNm;
@Column(name = "crt_dt")
@Temporal(TemporalType.TIMESTAMP)
@CreationTimestamp
private Date crtDt;
@Column(name = "udt_dt")
@Temporal(TemporalType.TIMESTAMP)
@UpdateTimestamp
private Date udtDt;
}
반응형
'Programing > JPA' 카테고리의 다른 글
Querydsl vs Criteria API vs QueryMethod vs JPQL 비교 (2) | 2023.07.20 |
---|---|
Springboot 2.x + queryDSL 설정 방법 (1) | 2023.07.18 |
JPA 에서 entity를 삭제하는 여러가지 방법과 차이 (0) | 2023.05.04 |
JPA Query Methods 정리 (0) | 2023.04.13 |
JPA @Query 사용 시 주의점 ERROR: relation "table_name" does not exist, ConverterNotFoundException (0) | 2023.04.08 |
댓글