본문 바로가기
개발공부/JAVA Spring

[Spring Boot] JPA Auditing

by bzerome240 2023. 3. 11.

 

엔티티 클래스에 들어가는 공통적인 필드가 있다. ex) 생성자, 생성시각, 변경자, 변경시각

매번 값을 주입해야하는 번거로움을 해소하기 위해 Spring Data JPA에서 이값을 자동으로 넣어주는 기능을 제공한다.

 

컨피그 클래스 생성

@Configuration
@EnableJpaAuditing
public class JpaAuritingConfiguration {
}

 

BaseEntity 생성

  • @MappedSuperclass : 자식 클래스에게 매핑 정보를 전달
  • @EntityListeners(AuditingEntityListener.class) : 엔티티를 데이터베이스에 적용하기 전후로 콜백 요청
  • @CreatedDate : 데이터 생성 날짜 자동 주입
  • @LastModifiedDate : 데이터 변경 날짜 자동 주입
@Getter
@Setter
@ToString
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseEntity {
    @CreatedDate
    @Column(updatable = false)
    private LocalDateTime createdAt;
    
    @LastModifiedDate
    private LocalDateTime updatedAt;
}

 

BaseEntity를 상속받은 엔티티 클래스

@Entity
@Getter
@Setter
@NoArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Table(name = "product")
public class Product extends BaseEntity {
    ...
}

 

 

 

 

 

 

728x90
반응형

'개발공부 > JAVA Spring' 카테고리의 다른 글

[Spring Boot] 예외처리  (0) 2023.03.28
[Spring Boot] JPA 영속성 전이 cascade, 고아객체  (0) 2023.03.27
[Spring Boot] JPQL, QueryDSL 쿼리 작성  (0) 2023.03.10
[Spring Boot] Redis config  (0) 2023.03.10
shorten url  (0) 2023.03.06

댓글