[Spring] createDate와 modifyDate 자동 설정 방법

이다혜·2023년 12월 13일
0

Spring

목록 보기
21/27

엔티티의 생성 날짜인 createDate와 수정 날짜인 modifyDate를 매번 LocalDateTime.now()로 set 해주는 대신 자동으로 설정해주는 방법이 있다.

@CreatedDate:

엔티티가 처음으로 생성될 때 자동으로 생성일을 설정한다.
데이터베이스에 새로운 레코드가 삽입될 때 이 필드가 자동으로 현재 시간으로 설정된다.

@LastModifiedDate:

엔티티가 수정될 때마다 자동으로 마지막 수정일을 업데이트한다.
데이터베이스에 기존 레코드가 업데이트될 때 이 필드가 자동으로 현재 시간으로 설정된다.

💡 이러한 어노테이션을 사용하면 일일이 엔티티를 저장할 때마다 생성일과 수정일을 수동으로 설정할 필요가 없어지므로 편리하다.

사용방법

@Entity
@EntityListeners(AuditingEntityListener.class)
public class YourEntity {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    ...
  
    @CreatedDate
    private LocalDateTime createDate;

    @LastModifiedDate
    private LocalDateTime modifyDate;

} 
  1. 엔티티 클래스에 @EntityListeners(AuditingEntityListener.class)를 추가한다.
    : JPA Auditing을 활성화
  2. Application 클래스에 @EnableJpaAuditing를 추가한다.
    : 스프링 부트에서 전역으로 JPA Auditing을 활성화

0개의 댓글