JPA Auditing

Hye·2023년 1월 7일
0

✏️ Audit이란

  • DB를 관리하기 편하도록 DB에 값을 넣을 때, 항상 특정 데이터가 포함되도록 하는 것
  • 추후 DB에서의 문제점을 추적하는데 많은 도움이 됨
  • 주로 사용하는 데이터
    • 최초 등록 시간 (@CreatedDate)
    • 마지막 수정 시간 (@LastModifiedDate)
    • 최초 등록한 사람 (@CreatedBy)
    • 마지막 수정한 사람 (@ModifiedBy)

1️⃣ Base Time Entity 생성

  • @Getter
    • 모든 멤버 변수에 대해 get 메서드를 생성해주는 롬복 어노테이션
  • @MappedSuperClass
    • 이 어노테이션이 있는 클래스는 엔티티로 사용되지 않음
    • 다른 엔티티에서 이 엔티티의 속성을 상속받아 속성만 사용할 수 있도록 도와줌
    • BaseEntity를 상속한 엔티티들이 BaseEntity에 있는 멤버 변수들을 모두 컬럼으로 인식되도록 해줌
  • @EntityListners(AuditingEntityListener.class)
    • Auditing 기능을 사용하겠다는 의미, 자동으로 값을 매핑
    • 이 어노테이션 아래에 있는 필드의 특정 Audit 컬럼에 이벤트가 있을 대마다 Audit이 반영될 준비를 해줌

2️⃣ Base Time Entity 상속받기

  • 엔티티가 BaseTimeEntity를 상속받도록 적용

3️⃣ 최종 적용

  • @EnableJpaAuditing을 통해 최종 적용
profile
공부중 📚

0개의 댓글

관련 채용 정보