엔티티의 생성 및 수정 시점을 자동으로 기록하고 관리하는 기능을 제공하는 도구
이전에는 각 Entity들에게 생성 및 수정 시점들을 각각 작성했었다. 그래서 유지보수에서는 비효율적이다.
근데 Spring Data JPA에서는 시간에 대해서 자동으로 값을 넣어주는 기능인 Auditing이 있다.
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class Timestamped {
@CreatedDate
@Column(updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private LocalDateTime createdAt;
@LastModifiedDate
@Column
@Temporal(TemporalType.TIMESTAMP)
private LocalDateTime modifiedAt;
}
@EnableJpaAuditing
@SpringBootApplication
public class PreparingSpringApplication {
public static void main(String[] args) {
SpringApplication.run(PreparingSpringApplication.class, args);
}
}
public class Memo extends Timestamped
추상클래스를 상속받아서 사용하면 Entity별로 변경을 하거나 추가하지 않아도 된다.

위와 같은 그림으로 DB에 저장되는 것을 확인할 수 있다.