본문 바로가기

spring

JPA Auditing / Base Entity

Audit
엔티티와 관련된 이벤트를 추적하고 기록
  • Audit (감사) : '감독하고 검사함'
  • Entity 버전 관리와 관련된 이벤트를 추적하고 기록하는 것
    • 이벤트 : Entity의 Create, Update, Delete와 같은 작업

 

Audit 구현하기
  • Spring Data JPA는 @EntityListeners 어노테이션을 사용해 자체 JPA 엔티티 리스너 클래스인 AuditingEntityListener를 제공
  • @EnableJpaAuditing과 @EntityListeners(AuditingEntityListener.class) 설정
    ≫ 이벤트 리스너가 Content에 대한 정보를 Auditing할 수 있게 됨 

  • SpringBootApplication(PostApplication.java 파일)에 @EnableJpaAuditing 추가

  • Entity에 @EntityListeners(AuditingEntityListener.class) 추가

 

Base Entity를 이용한 JPA Auditing

  • 모든 Entity에 Auditing 설정을 작성하면 중복 코드 발생, 관리가 어려움
  • Auditing 관련 Entity를 생성하고 다른 Entity에서는 이를 상속받게 함

  • Auditing을 위해 BaseEntity를 상속한 엔티티
  • createdDate / modifiedDate 필드 포함

 

Auditing 종류
어노테이션 명 설명
@CreatedBy 엔티티를 생성하는 사용자 정보
@CreatedDate 엔티티가 생성된 시간 (타임스탬프)
@LastModifiedBy 엔티티를 수정한 사용자 정보
@LastModifiedDate 엔티티가 수정된 시간 (타임스탬프)

 

 

 

 

'spring' 카테고리의 다른 글

다대일 단/양방향 매핑  (0) 2024.09.15
연관관계 매핑 종류 / 방향  (0) 2024.09.15
Lombok  (0) 2024.09.13
@Query 어노테이션  (0) 2024.09.13
페이징 / 정렬 처리  (0) 2024.09.13