사용자 도구

사이트 도구


java:hibernate:envers

문서의 이전 판입니다!


Hibernate Envers

  • Hibernate/JPA Entity의 변경 사항을 추적할 수 있게 별도 테이블에 변경 사항을 자동 저장해준다.
  • Spring Data Envers Hibernate Envers 의 변경 사항을 쉽게 조회할 수 있게 해준다.

REV 를 long 으로 변경해야한다

  • 이력이 쌓일 때 이력의 값을 REV라는 컬럼으로 저장하는데 이 값이 int 타입이다.
  • 이 경우 약 20억 이상의 이력이 쌓이면 곧바로 오류가 발생하게 된다.
  • REVINFO 테이블의 REV 컬럼과, 각 이력 테이블의 REV 컬럼을 모두 Long type 즉 BIGINT로 변경해야만 한다.
  • @RevisionEntity를 커스텀으로 새로 만들어야 한다.
@Entity
@RevisionEntity
public class CustomRevisionEntity implements Serializable {
  @Id
  @GeneratedValue
  @RevisionNumber
  private long rev;
  @RevisionTimestamp
  private long timestamp;
  /* provide getter/setters */
}

Custom @RevisionEntity

참조

java/hibernate/envers.1559613834.txt.gz · 마지막으로 수정됨: 2019/06/04 11:03 저자 kwon37xi