Springboot
[Springboot] createdDate, modifiedDate 관리 클래스 작성
eunyeong
2022. 1. 25. 22:15
//BaseTimeEntity.java
package com.eunyeong.book.springboot.domain;
import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.time.LocalDateTime;
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {
@CreatedDate
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime modifiedDate;
}
● @MappedSuperclass
JPA Entity 클래스들이 BaseTimeEmtity를 상속할 경우 createdDate, modifiedDate도 칼럼으로 인식하도록 합니다.
● @EntityListeners(AuditingEntityListener.class)
BaseTimeEntity 클래스에 Auditing 기능을 포함시킵니다.
● @CreatedDate
Entity가 생성되어 저장될 때 시간이 자동 저장됩니다.
● @LastModifiedDate
Entity의 값을 변경할 때 시간이 자동 저장됩니다.