🧾 @EnableJpaAuditing

정의

@EnableJpaAuditingSpring 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를 두면 엔티티별 중복을 줄일 수 있다.

연결문서

태그: ,

카테고리:

업데이트:

댓글남기기