[JPA Auditing으로 생성시간/수정시간 자동화하기]
src/main/java/com/intellij/springboot/domain/BaseTimeEntity
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {
@CreatedDate
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime modifiedDate;
}
- BaseTimeEntity클래스는 모든 Entity의 상위 클래스가 되어 Entity들의 createdDate,mojifiedDate를 자동으로 관리
- 어노테이션
1. @MappedSuperclass
- JPA Entity 클래스들이 BaseTimeEntity을 상속할 경우 필드들도 칼럼으로 인식하도록 한다.
2. @EntityListeners(AuditingEntityListener.class)
- BaseTimeEntity클래스에 Auditing 기능 포함 시킴
3. @CreatedDate
- Entity가 생성되어 저장될 때 시간이 자동 저장
4. @LastModifiedDate
- 조회한 Entity의 값을 변경할 때 시간이 자동 저장