JPA 의 @EnableJpaAuditing 어노테이션

CosmoNumb·2024년 7월 30일
0

java

목록 보기
18/24

Spring Boot 애플리케이션의 진입점 클래스에서 사용하는 어노테이션 중 @EnableJpaAuditing 에 대한 개념 정리입니다.

@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 엔티티의 감사 기능을 활용할 수 있습니다.

1개의 댓글

comment-user-thumbnail
2024년 8월 1일

TIL 너무 잘 작성해주셨군요! 앞으로도 꾸준히 작성해보아요~!

답글 달기