728x90
반응형
Spring Data JPA의 Auditing 기능은 엔터티가 생성되거나 수정될 때 자동으로 특정 필드를 갱신해주는 기능입니다.
1. @EnableJpaAuditing
Spring Boot 애플리케이션 클래스나 설정 클래스에 추가하여 Auditing 기능을 활성화합니다.
1) 애플리케이션에 추가하는 경우
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@SpringBootApplication
@EnableJpaAuditing
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
2) 설정 클래스에 추가하는 경우
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@Configuration
@EnableJpaAuditing
public class JpaAuditingConfiguration {
// 필요에 따라 추가 설정 가능
}
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.example.package"}) // 패키지 경로를 적절히 변경
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
2. @EntityListeners(AuditingEntityListener.class)
엔티티 클래스에 추가하여 Auditing 기능이 엔티티에 적용되도록 합니다.
@CreatedDate : 엔티티가 처음 생성될 때의 날짜와 시간을 자동으로 설정
@LastModifiedDate :엔티티가 수정될 때의 날짜와 시간을 자동으로 설정
생성일자는 수정이 필요없기 때문에 updatable을 false로 설정해뒀습니다.
import org.springframework.data.annotation.CreatedDate;
import javax.persistence.Column;
import java.time.LocalDateTime;
@Entity
@EntityListeners(AuditingEntityListener.class)
public class MyEntity {
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime lastModifiedDate;
// 기타 필드 및 메소드
}
728x90
'개발일지 > SPRING' 카테고리의 다른 글
[에러] Cannot invoke "org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)" (1) | 2024.07.09 |
---|---|
[Spring] Spring Boot 3.x에 Swagger 설정하기 (예시 코드) (0) | 2024.06.11 |
[Spring Boot] 스프링 부트 프로젝트 생성 (0) | 2023.11.27 |
[Spring] 스프링 빈 설정과 라이프 사이클 (1) | 2023.10.23 |
[Spring] IoC & Container (BeanFactory, ApplicationContext) 개념 (0) | 2023.10.22 |