Auditing 이란?

사전적 의미로 감사, 심사 등의 의미를 가지고 있다. Spring Data JPA에서는 Entity의 생성, 변경을 감지하여 정보를 기록하는 것을 의미한다.

Gradle 설정

JPA Auditing 기능을 사용하려면 spring-boot-starter-data-jpa 의존성을 추가해야 한다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}

역할

  • Entity의 생성 및 변경 이력을 자동으로 기록
  • @CreatedDate, @LastModifiedDate 등을 활용하여 생성 및 수정 시간 자동 저장
  • @CreatedBy, @LastModifiedBy와 함께 사용하면 생성자 및 수정자 정보 저장 가능

사용법

1️⃣ @EnableJpaAuditing 설정

@EnableJpaAuditing을 활성화하여 JPA Auditing 기능을 사용할 수 있다.

@Configuration
@EnableJpaAuditing
public class JpaConfig {
}

2️⃣ Auditing 기능을 포함한 엔티티 정의

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;
}

이 클래스를 상속하면 모든 엔티티에서 생성 및 수정 시간을 자동으로 기록할 수 있다.


연결문서

댓글남기기