@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTime {
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime modifiedAt;
}
@MappedSuperclass
: JPA Entity 클래스들이 BaseTime class를 상속할 경우 BaseTime class의 필드인 createdDate, modifiedDate를 인식하도록 함
@EntityListeners
: PA Entity에서 이벤트가 발생할 때마다 특정 로직을 실행시킬 수 있는 어노테이션
@CreatedDate
: Entity가 생성되어 저장될 때 시간이 자동으로 저장
LastModifiedDate
: 조회한 Entity의 값을 변경할 때 시간이 자동으로 저장
@EnableJpaAuditing
: JPA Auditing(감시, 감사)을 위한 어노테이션. createdDate, modifiedDate처럼 DB에 데이터가 저장되거나 수정될 때 언제, 누가 했는지를 자동으로 관리
@SpringBootApplication
@EnableJpaAuditing
public class XXXApplication {
public static void main(String[] args) {
SpringApplication.run(XXXApplication.class, args);
}
}