백엔드/Java + Spring
[백엔드] Blog - 모든 엔티티 생성 시간, 업데이트 시간 설정하기 @CreatedDate, @LastModifiedDate, BaseEntity
dev_ares
2024. 9. 24. 01:31
728x90
반응형
BaseEntity
다른 엔티티에서 BaseEntity를 상속하여 필드에 엔티티 생성 시간, 업데이트 시간을 추가할 수 있다. @MappedSuperclass

자동으로 엔티티 생성 시간과 업데이트 시간을 설정하도록 할 수도 있는데 다음과 같은 어노테이션이 필요하다.
@CreateDate, @LastModifiedDate
하지만 이 두 가지만 설정하고 테스트를 해보면 어노테이션이 동작하지 않는 것을 알 수 있다.

어노테이션들이 동작하기 위해서 추가로 두 가지 설정이 필요하다.
1
@EntityListeners(AuditingEntityListener.class)
BaseEntity 클래스에 이 어노테이션을 붙여서 엔티티를 DB에 적용하기 이전에 콜백을 요청할 수 있도록 한다.
2
@EnableJpaAuditing
JPA Auditing 기능을 활성화하기 위한 어노테이션이다. DB에 데이터가 저장되거나 수정될 때의 정보를 자동으로 관리한다.
보통 JpaConfig 클래스를 정의하여 어노테이션을 붙이거나 SpringBootApplication 클래스에 붙여주면 된다.

테스트

잘 작동하는 것을 확인할 수 있었다.
728x90
반응형