데이터의 생성(created_at), 수정(modified_at) 시간은 포스팅, 게시글, 댓글 등 다양한 데이터에 매우 자주 활용된다. 하지만 각각의 Entity의 생성 수정 시간을 매번 작성하는건 너무 비효율적입니다. 그래서 Spring Data JPA에서는 시간에 대해서 자동으로 값을 넣어주는 기능인 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;
}
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@CreatedDate
updatable = false
옵션 추가@LastModifiedDate
@Temporal
@SpringBootApplication
이 있는 class에@EnableJpaAuditing
추가!public class Memo extends Timestamped { ... }
public class MemoResponseDto {
private Long id;
private String username;
private String contents;
private LocalDateTime createdAt; // 추가
private LocalDateTime modifiedAt; // 추가
}