Spring Boot (15) JPA Auditing

넙데데맨·2022년 9월 2일
0
post-custom-banner

JPA Auditing

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

적용 대상

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

사용법

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

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

profile
차근차근
post-custom-banner

0개의 댓글