Spring Boot (15) JPA Auditing

넙데데맨·2022년 9월 2일

JPA Auditing

누가 데이터를 생성했고 변경했는지 감시한다는 의미
엔티티 클래스에 공통적으로 들어가는 필드에 값을 매번 주입하지 않게 해주는 기능

적용 대상

생성 주체, 생성일자, 변경 주체, 변경일자 등 공통적으로 들어가는 필드를 정의한 엔티티에 자동으로 값을 설정해주게 한 다음 다른 엔티티에서 상속해서 사용한다.

사용법

  1. @EnableJpaAuditing 어노테이션을 main() 메소드에 추가해준다.
  2. @EnableJpaAuditing 어노테이션 추가 시에 테스트할 시 오류가 발생할 수 있다.(@WebMvcTest 어노테이션 이용 테스트 시 등등)
  3. Configuration 클래스를 추가해 애플리케이션 클래스의 기능과 분리해서 사용
  4. 공통적으로 사용되는 적용대상 엔티티 클래스 생성

@MappedSuperClass
JPA 엔티티 클래스가 상속받을 시 자식 클래스에게 매핑정보 전달
@EntityListeners
엔티티를 DB에 적용하기 전 콜백을 요청할 수 있게하는 어노테이션
AutditingEntityListener 클래스
엔티티 Auditing 정보 주입하는 JPA 엔티티 리스너 클래스
@CreatedDate
데이터 생성 날짜 자동 주입 어노테이션
@LastModifiedDate
데이터 수정 날짜 자동 주입 어노테이션

profile
차근차근

0개의 댓글