keembloo

JPA Auditing 정리 본문

Spring

JPA Auditing 정리

keembloo 2023. 10. 18. 11:10
728x90

 

JPA 

ORM 패러다임으로 만들어진 라이브러리

 

 

 

JPA Auditing 

Auditing : 감사, 감지 라는 뜻

Entity 생성/변화에 따른 감지한다.

SQL(트리거)와 비슷하다

 

JPA Auditing을 사용하면

자동으로 시간을 매핑하여  데이터베이스의 테이블에 넣어줄수 있다.

 

Ex) 생성일자와 수정일자를 알아서 넣을때 쓸수있다.


1. 사용하기에 앞서

 

@EnableJpaAuditing

스프링부트 시작 클래스와 같이 어노테이션을 추가해서 JPA를 쓰겠다고 선언해줘야한다

JPA 엔티티 감지 기능 실행 기능

( 실행만 할뿐 , 감지를 하지는 않는다.  @EntityListeners 를 이용하여 어떤 것을 감지할지 또 따로 지정해줘야한다. )

 


2. 

 

@MappedSuperclass

엔티티에게 상속주는 클래스일 경우

예를 들어 서로 다른 엔티티간의 공통 필드 묶을 때 사용한다

 

일반 상속[ 기본 자바에서 ] 은 @메타 어노테이션 까지 상속이 불가능하다

그래서 매핑 필드까지 상속해주는 기능인 @MappedSuperclass를 사용한다

 


3. 

 

@EntityListeners (AuditingEntityListener.class )

해당 필드를 사용하는 엔티티 감지

 


 

4.

 

@CratedDate

 

엔티티 생성 날짜 주입

 


 

5.

 

@LastModifiedDate

 

엔티티[ sql : update ] 실행 되었을때 날짜/시간 주입

 


 

언제 작동될까 ? 

 

 

엔티티에 특정이벤트가 발생시 작동된다!

 

 

 

 

728x90