@CreatedDate
🕒 @CreatedDate
정의
@CreatedDate는 엔티티가 생성될 때 생성 시각을 자동으로 기록하는 Spring Data JPA Auditing 애너테이션이다.
생성일이나 등록일처럼 처음 저장된 시간을 자동으로 남기고 싶을 때 사용한다.
🧩 역할
- 엔티티 생성 시 자동으로 날짜를 채운다.
@EnableJpaAuditing과 함께 사용한다.AuditingEntityListener를 통해 동작한다.
🛠 사용법
필드에 직접 적용
@CreatedDate
@Column(name = "REG_DT", nullable = false)
@Convert(converter = DateConverter.class)
private DateTime registDateTime;
BaseEntity에서 공통 사용
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.time.LocalDateTime;
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseEntity {
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdDate;
}
- 위 클래스를 상속하면 모든 엔티티에서 생성 시간을 자동으로 기록할 수 있다.
⚠️ 주의사항
@EnableJpaAuditing이 활성화되어 있어야 동작한다.AuditingEntityListener를 함께 등록해야 한다.- 업데이트 시 값이 변경되지 않도록
updatable = false를 함께 쓰는 경우가 많다.
📌 정리
@CreatedDate는 엔티티 생성 시간을 자동 기록하는 애너테이션이다.- Auditing 설정과 함께 사용해야 한다.
- 공통 생성일 관리는
BaseEntity패턴으로 묶어두면 편하다.
댓글남기기