오디팅
엔티티를 생성하거나 변경할 때 사람과 시간을 추적하고 싶으면?
필수로 넣어 주는 것이 좋다.
우선 순수 JPA를 사용해서 해결해 보자.
@MappedSuperclass
public class JPABaseEntity {
@Column(updatable = false)
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
@PrePersist
public void prePersist() {
LocalDateTime now = LocalDateTime.now();
createdAt = now;
updatedAt = now;
}
@PreUpdate
public void preUpdate() {
updatedAt = LocalDateTime.now();
}
}
@MappedSuperclass
를 이용해서 진짜 상속이 아닌 속성만 내려 받는 것이다.@EnableJpaAuditing
@SpringBootApplication
public class DataJpaApplication {
꼭 넣어주자
@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
@Getter
public class BaseEntity {
@CreatedDate
@Column(updatable = false)
LocalDateTime createdAt;
@LastModifiedDate
LocalDateTime updatedAt;
}
끝