JPA Auditing 사용하기

해당 내용은 이동욱님 저서 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'를 공부하며 정리한 내용입니다.
생성시간과 수정시간을 처리하기 위해 단순하고 반복적인 코드가 모든 테이블과 서비스 메서드에 포함된다. JPA Auditing을 사용하면 이 문제를 해결할 수 있다.
BaseTimeEntity
모든Entity의 상위 클래스가 되어 Entity들의 createdDate, modifiedDate를 자동으로 관리
@MappedSuperclass
JPA Entity 클래스들이 BaseTimeEntity를 상속할 경우 이 클래스의 필드도 컬럼으로 인식하게 된다
@EntityListeners(AuditingEntityListener.class)
BaseTimeEntity 클래스에 Auditing 기능을 포함시킨다
@CreatedDate
Entity가 생성되어 저장될 때 시간이 자동 저장된다
@LastModifiedDate
조회한 Entity의 값을 변경할 때의 시간이 자동 저장된다.
이후에는 Entity에서 BaseTimeEntity를 extends 시키고, Application 클래스에 @EnableJpaAuditing 어노테이션을 추가한다.
@EnableJpaAuditing
JPA Auditing 활성화
PostsRepositoryTest
Last updated