컴공 K 2022. 5. 22. 00:01

JPA Auditing

Spring Data Jpa에서는 AuditingListener를 제공해 특정한 이벤트에 대해 자동으로 반응하여 등록일, 수정일, 등록자, 수정자와 같은 데이터를 입력해준다. Entity에 대해서 생성된 시간과 업데이트된 시간을 추적하는 것은 매우 중요하지만 이를 매번 사용자가 데이터를 업데이트할 때마다 시간 값을 변경하는 것은 귀찮고 어쩌면 실수로 인해서 놓칠 수도 있다. JPA의 Auditing 기능을 사용해 이러한 점을 해결해줄 수 있다.

 

 

 

Auditing 활성화

Auditing 기능을 활성화하기 위해서는 Application에 @EnableJpaAuditing 어노테이션을 추가해줘야 한다.

@EnableJpaAuditing	// ← 이거
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(DmakerApplication.class, args);
    }
}

 

 

엔터티에 Auditing 적용

엔터티에 Auditing을 적용하기 위해서는 @EntityListeners(AuditingEntityListener.class)를 추가해준다.

@Getter
@Entity
@EntityListeners(AuditingEntityListener.class)	// ← 이거
public class ExampleEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    protected Long id;

    @CreatedDate	// 생성 시간 자동 저장
    private LocalDateTime createdAt;

    @LastModifiedDate	// 수정 시간 자동 저장
    private LocalDateTime updatedAt;
}

 

  • @CreatedDate : 생성 시간
  • @CreatedBy : 생성자
  • @LastModifiedDate : 수정 시간
  • @LastModifiedBy : 수정자

 

 

 

 

 

 

https://webcoding-start.tistory.com/53

 

JPA Auditing 기능이란?

JPA Auditing이란? Java에서 ORM 기술인 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재합니다. 대표적으로 생성일자, 수

webcoding-start.tistory.com

https://web-km.tistory.com/42

 

[JPA ] Auditing 기능 살펴보기

Spring Boot 2.4.0 / Spring Data Jpa / JDK 8 / h2database 개요 Auditing 활성화하기 BaseEntity 생성하기 Entity에 적용하기 JUnit으로 테스트해보기 1 @CreatredBy, @ModifiedBy 사용하기 JUnit으로 테스트 해..

web-km.tistory.com

https://velog.io/@sa1341/JPA-Auditing

 

JPA Auditing

Java에서 ORM 기술인 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재합니다. 대표적으로 생성일자, 수정일자, 식별자

velog.io

https://blog.naver.com/626ksb/222588424790

 

[JPA] Auditing

Audit 은 감시하다 라는 뜻이다. Spring data jpa 에서는 AuditingListener 를 제공해서 특정한 이벤트...

blog.naver.com

 

728x90