728x90
반응형
BaseEntity
다른 엔티티에서 BaseEntity를 상속하여 필드에 엔티티 생성 시간, 업데이트 시간을 추가할 수 있다. @MappedSuperclass
자동으로 엔티티 생성 시간과 업데이트 시간을 설정하도록 할 수도 있는데 다음과 같은 어노테이션이 필요하다.
@CreateDate, @LastModifiedDate
하지만 이 두 가지만 설정하고 테스트를 해보면 어노테이션이 동작하지 않는 것을 알 수 있다.
어노테이션들이 동작하기 위해서 추가로 두 가지 설정이 필요하다.
1
@EntityListeners(AuditingEntityListener.class)
BaseEntity 클래스에 이 어노테이션을 붙여서 엔티티를 DB에 적용하기 이전에 콜백을 요청할 수 있도록 한다.
2
@EnableJpaAuditing
JPA Auditing 기능을 활성화하기 위한 어노테이션이다. DB에 데이터가 저장되거나 수정될 때의 정보를 자동으로 관리한다.
보통 JpaConfig 클래스를 정의하여 어노테이션을 붙이거나 SpringBootApplication 클래스에 붙여주면 된다.
테스트
잘 작동하는 것을 확인할 수 있었다.
728x90
반응형
'백엔드 > Java + Spring' 카테고리의 다른 글
[백엔드] Blog - 전역 예외 커스텀 처리하기 @RestControllerAdvice, @ExceptionHandler (1) | 2024.09.24 |
---|---|
[백엔드] Blog - 실행 오류 정리 (application.yml, SDK, test) (0) | 2024.09.19 |
[백엔드] 회원탈퇴(Soft delete) 및 회원복구 (1) | 2024.09.08 |
[벡엔드] 카테고리 Java Enum 활용 (0) | 2024.09.06 |
[면접 후기] 첫 번째 백엔드 면접 후기 및 회고 (0) | 2024.08.21 |