데이터 변경이력 관리 설계 (Hibernate Interceptor, EventListener, Envers)
·
TIL
1. 요구사항 정리먼저 구현하기에 앞서, 요구사항들을 정리하고 들어가자. > 변경 이력 UI 디자인만 제공되어, 다음의 질문들을 팀원 분들과 논의하며 요구사항을 다듬어갔다. 질문서버 설계 및 구현 시 영향받는 것제공 방식Q1. 현재-직전 변경사항(diff)만 제공 / diff 없이 현재-직전 전체 스냅샷 제공 중 어느 방식이 더 나을지? 설계 방식 고려 · 1) 별도 커스텀 테이블 및 로직 설계· 2) Hibernate Envers 라이브러리 설계범위Q2. 변경이력 대상으로 관리할 도메인의 범위는?해당 도메인을 Enum 으로 관리Q3. 도메인별로 어느 필드까지 추적이 필요한가?별도 화이트리스트 관리 필요Q4. 전체 도메인의 통합 변경이력 기능이 필요한가?전체 도메인 변경이력을 관리하는 통합 테이블 설계..