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