@EnableJpaAuditing
🧾 @EnableJpaAuditing
정의
@EnableJpaAuditing은 Spring Data JPA의 Auditing 기능을 활성화하는 설정 애너테이션이다. 엔티티의 생성 시각, 수정 시각 같은 감사 정보를 자동으로 기록할 수 있게 해준다.
Spring Data JPA에서 생성 시각, 수정 시각, 생성자, 수정자 정보를 자동으로 기록하려면 이 설정이 필요하다.
🧩 역할
- Auditing 기능을 전역에서 활성화한다
@CreatedDate같은 감사 애너테이션이 동작하도록 만든다- 생성자/수정자 기록 기능과 함께 사용할 수 있다
🛠 사용법
설정 클래스에 적용
@Configuration
@EnableJpaAuditing
public class JpaConfig {
}
공통 엔티티 구성
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
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;
@LastModifiedDate
private LocalDateTime modifiedDate;
}
위 클래스를 상속하면 모든 엔티티에서 생성 및 수정 시간을 자동으로 기록할 수 있다.
⚠️ 주의사항
@EnableJpaAuditing은 설정 클래스에 선언해야 한다.@EntityListeners(AuditingEntityListener.class)가 함께 필요하다.@CreatedDate같은 감사 필드는 보통updatable = false로 관리한다.- 감사 기능을 사용하지 않으면 관련 애너테이션이 동작하지 않는다.
📌 정리
@EnableJpaAuditing은 Spring Data JPA Auditing 기능을 켜는 설정이다.@CreatedDate,@LastModifiedDate같은 감사 필드와 함께 사용한다.- 공통 BaseEntity를 두면 엔티티별 중복을 줄일 수 있다.
댓글남기기