spring-boot 기능 구현
Auditing을 이용한 공통 컬럼(속성) 생성
spring data JPA Auditing 기능이란?
- 엔티티가 저장 또는 수정 될 때, 자동으로 컬럼이 추가되도록 해주는 기능.
- 일반적으로 공통으로 사용되는 등록일, 수정일 컬럼을 지정한다.
Auditing 사용.
1. @EnableJpaAuditing 사용
- 설정 파일에 @EnableJpaAuditing을 추가해준다.
- JPA의 Auditing 기능 활성화.
2. 기본 엔티티 생성.
- Auditing 할 등록일, 수정일 속성을 정의한 기본 엔티티 생성.
3. 기본 엔티티에 애너테이션 추가
@EntityListeners(AuditingEntityListener.class)
- 지정 위치 : 추상 클래스.
- 애너테이션 추가 시 DB 적용 전과 이후에 Auditing을 수행하도록 요청 해주는 애너테이션.(커스텀 콜백)
@MappedSuperclass
- 지정 위치 : 추상 클래스.
- 엔티티의 공통 필드가 필요한 경우 사용.
- 즉, 조상 클래스(엔티티)에 필드(속성)를 선언하고, 이를 상속 받은 하위 클래스에서 단순히 속성만 받아서 사용할 경우 붙이는 애너테이션.
@CreatedDate
- 지정 위치 : 등록일 필드.
- 엔티티가 생성된 시점에 일시를 자동 삽입해주는 애너테이션.
@LastModifiedDate
- 지정 위치 : 수정일 필드.
- 엔티티가 수정된 시점에 일시를 자동 삽입해주는 애너테이션.