꿀똥벌레
꿀똥벌레 개발 블로그
꿀똥벌레
전체 방문자
오늘
어제
  • 분류 전체보기 (90)
    • JAVA (17)
    • SPRING (14)
    • Elasticsearch (4)
    • GRADLE (2)
    • HTML, CSS (0)
    • JAVASCRIPT (0)
    • GIT (1)
    • Vue.js (1)
    • server (1)
    • Python (0)
    • IT리뷰 (0)
    • 인프라 (6)
    • IOS (21)
    • 디자인패턴 (20)
    • Kafka (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • maxConnTotal
  • connectionRequestTimeout
  • elasticsearch
  • ES
  • 엘라스틱서치
  • maxConnPerRoute
  • 인덱스 템플릿
  • spring integration
  • 스프링 인티그레이션
  • SWIFT
  • 스프링 인테그레이션
  • persistent connection
  • KEEPALIVE
  • java
  • spring
  • springintegration
  • Index
  • Index Template
  • mappings
  • persistence connection

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
꿀똥벌레

꿀똥벌레 개발 블로그

SPRING

Spring Envers 로 자동 이력 관리

2021. 6. 20. 15:36

@EnableJpaAuditing

  • 설정 클래스에 적용 함으로써 JPA 이력관리를 사용하도록 설정한다.

@Audited

@Audited(withModifiedFlag = true)
@Entity
public class Person {

  @Id
  @GeneratedValue
  private Long id;
  @Embedded
  private AuditMetadata auditMetadata;
}

@Embeddable
public class AuditMetadata {

  @CreatedBy
  private Integer registeredBy;
  @CreatedDate
  private LocalDateTime registeredAt;
  @LastModifiedBy
  private Integer updatedBy;
  @LastModifiedDate
  private LocalDateTime updatedAt;
}
  • Person 테이블을 이력관리를 적용하려면 엔티티에 @Audited 를 적용한다. 적용하게 되면 이력관리용 테이블로 person_aud 테이블과 revinfo 테이블을 사용한다.
  • person_aud 테이블은 person 테이블의 각 컬럼들 + 이력관리 id값인 rev, 타입을 나타내는 revtype 으로 설계된다.
  • revtype - 0: insert, 1: update, 2: delete
  • withModifiedFlag - true 옵션 설정시 person 테이블 각 컬럼에 매치되는 flag 컬럼이 이력관리 테이블에 추가적으로 생성되고, 값의 변경 여부를 저장한다.

'SPRING' 카테고리의 다른 글

Spring Retry  (0) 2022.05.18
Spring Batch FaultTolerance (장애 허용)  (0) 2021.12.13
Spring Event  (0) 2021.05.27
Spring 메소드 실행 실패시 재실행  (0) 2021.05.24
Spring Rest Docs 사용법  (0) 2021.05.02
    꿀똥벌레
    꿀똥벌레
    개발자 꿀똥벌레 입니다.

    티스토리툴바