본문 바로가기
Spring Framework

[Spring Framework] 엔티티 객체 등록날짜/수정날짜 자동화

by 올리브영 2023. 3. 20.
728x90
반응형

등록날짜/수정날짜는 데이터의 중요한 정보이다.

등록날짜 컬럼, 수정날짜 컬럼을 사용하는 일이 많아서 알아두면 좋을 것 같아서 글을 작성하게 되었다.

 

먼저 엔티티 클래스명에 @EntityListeners(AuditingEntityListener.class)를 붙여주고,

데이터 생성시간에는 @CreatedDate, 데이터 수정시간에는 @LastModifiedDate를 붙여준다.

package com.example.demo.boundedContext.article.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import lombok.*;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import java.time.LocalDateTime;
import static jakarta.persistence.GenerationType.IDENTITY;

@Entity
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor
@EntityListeners(AuditingEntityListener.class) // 추가
public class Article {
    @Id // 기본키
    @GeneratedValue(strategy = IDENTITY) // auto_increment
    private long id;
    @CreatedDate // 추가
    private LocalDateTime createDate; // 데이터 생성 날짜
    @LastModifiedDate // 추가
    private LocalDateTime modifyDate; // 데이터 수정 날짜
    private String title;
    private String body;
}

 

Application 클래스에 @EnableJpaAuditing를 추가한다.

@SpringBootApplication
@EnableJpaAuditing // 추가
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
728x90
반응형