🕒 @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 패턴으로 묶어두면 편하다.

연결문서

태그: ,

카테고리:

업데이트:

댓글남기기