Spring Boot:JPA Auditing

aiden·2023년 12월 19일
0

Backend

목록 보기
12/16
post-custom-banner

JPA Auditing은 Spring Data JPA에서 제공하는 기능 중 하나로, 엔티티의 변경 사항을 추적하는 데 사용된다. 엔티티가 생성되거나 수정되었을 때의 시간과, 생성 또는 수정한 사용자 정보를 자동으로 저장하는데 사용된다.

JPA Auditing을 사용하려면 먼저 엔티티 클래스에 @EntityListeners(AuditingEntityListener.class) 어노테이션을 추가해야 한다.
👉🏻 Spring Boot 2.2 이상의 버전에서는 @EntityListeners(AuditingEntityListener.class) 어노테이션을 생략할 수 있다. 다만, 이러한 방식은 모든 엔티티 클래스에서 Auditing 기능이 활성화되므로 필요한 엔티티에만 적용하려면 어노테이션을 명시해주는 것이 좋다.

생성 시간과 수정 시간을 저장할 필드에는 각각 @CreatedDate@LastModifiedDate 어노테이션을, 생성자와 수정자를 저장할 필드에는 각각 @CreatedBy@LastModifiedBy 어노테이션을 추가하면 된다.

@Entity
@EntityListeners(AuditingEntityListener.class)
public class MyEntity {
    // ...

    @CreatedDate
    private LocalDateTime createdDate;

    @LastModifiedDate
    private LocalDateTime lastModifiedDate;

    @CreatedBy
    private String createdBy;

    @LastModifiedBy
    private String lastModifiedBy;
}

JPA Auditing를 사용하려면 스프링 부트 메인 클래스 또는 설정 클래스에 @EnableJpaAuditing 어노테이션을 추가해 JPA Auditing을 활성화해야한다.

@SpringBootApplication
@EnableJpaAuditing
public class Application {
    // ...
}

JPA Auditing를 설정하면 엔티티가 생성되거나 수정될 때마다 스프링 데이터 JPA가 자동으로 생성 시간/수정 시간/생성자/수정자를 저장한다. 생성자와 수정자는 AuditorAware 인터페이스를 통해 얻을 수 있다.

profile
파인애플 좋아하세요?
post-custom-banner

0개의 댓글