Ginny H
Ginny
Ginny H

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ginny H

Ginny

Back-end/JPA

[JPA] JPA Auditing 사용하기 - Entity 생성시간 자동화

2022. 6. 26. 02:24

엔티티를 생성/수정할 때, 시간을 측정해야하는 경우가 많은데,

이 기능을 엔티티마다 함수로 만들어주기는 번거롭다.

=> JPA Auditing을 사용하여 자동화해줄 수 있다.

 

 

1. 도메인에 BaseTimeEntity 엔티티를 새로 만들어준다

@Getter
@MappedSuperclass // 해당 클래스를 상속받을 경우, 해당 클래스의 필드들도 컬럼으로 인식함
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {
    
    @CreatedDate // Entity 최초 생성될 때 시간 자동 저장
    private LocalDateTime createdDate;
    
    @LastModifiedDate // 수정될 때 시간 자동 저장
    private LocalDateTime modifiedDate;
}

 

2. 해당 엔티티를 상속받는 엔티티들은 생성/수정 시 시간이 자동으로 저장된다.

public class Users extends BaseTimeEntity

 

3. @EnableJpaAuditing을 추가해주어 Jpa Auditing을 활성화해준다.

(@SpringBootApplication, 즉 스프링부트를 시작하는 클래스에 추가해주기)

@EnableJpaAuditing  // JpaAuditing 활성화해주기
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 

Reference
도서 <스프링부트와 aws로 혼자 구현하는 웹서비스>

 

'Back-end > JPA' 카테고리의 다른 글

[JPA/김영한] 값 타입  (0) 2022.06.23
[JPA/김영한] 영속성 전이, 고아객체  (0) 2022.06.23
[JPA/김영한] 프록시와 지연로딩  (0) 2022.06.23
[JPA/김영한] 고급 매핑  (0) 2022.06.23
[JPA/김영한] 여러가지 연관관계 매핑  (0) 2022.06.23
    'Back-end/JPA' 카테고리의 다른 글
    • [JPA/김영한] 값 타입
    • [JPA/김영한] 영속성 전이, 고아객체
    • [JPA/김영한] 프록시와 지연로딩
    • [JPA/김영한] 고급 매핑
    Ginny H
    Ginny H

    티스토리툴바