Spring Boot 애플리케이션의 진입점 클래스에서 사용하는 어노테이션 중 @EnableJpaAuditing 에 대한 개념 정리입니다.
@EnableJpaAuditing
은 Spring Data JPA의 감사(auditing) 기능을 활성화합니다. JPA 감사는 엔티티의 생성 및 수정 시간을 자동으로 추적할 수 있게 해줍니다. 이를 통해 엔티티가 생성되거나 수정될 때 자동으로 타임스탬프를 기록할 수 있습니다.
@EnableJpaAuditing
을 사용하면 엔티티 클래스에서 생성 및 수정 시간을 자동으로 기록할 수 있습니다. 이를 위해 @CreatedDate
와 @LastModifiedDate
어노테이션을 사용합니다.
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime lastModifiedDate;
// 기타 필드, getters, setters
}
이와 같이 @EnableJpaAuditing
을 활성화하면, JPA가 엔티티의 생성 및 수정 시간을 자동으로 기록합니다.
위 설명을 바탕으로 전체 코드는 다음과 같습니다:
package com.sparta.myselectshop;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@EnableJpaAuditing
@SpringBootApplication
public class MyselectshopApplication {
public static void main(String[] args) {
SpringApplication.run(MyselectshopApplication.class, args);
}
}
이 코드에서:
@SpringBootApplication
은 Spring Boot 애플리케이션의 부트스트랩 및 자동 구성 기능을 활성화합니다.@EnableJpaAuditing
은 JPA의 감사(auditing) 기능을 활성화하여 엔티티의 생성 및 수정 시간을 자동으로 기록할 수 있게 합니다.이 어노테이션을 통해 JPA 엔티티의 감사 기능을 활용할 수 있습니다.
TIL 너무 잘 작성해주셨군요! 앞으로도 꾸준히 작성해보아요~!