
아키텍처
애플리케이션 계층에서 관계 다루기
두줄요약
애플리케이션 계층에서 관계를 다루는 이유와 구조를 정리했습니다. DB/JPA에 맡기기보다 이벤트 전파와 메타데이터로 관계를 명시적으로 관리하는 방식입니다.
핵심 내용
- JPA 외래키와 cascade는 저장소 수준 관계 처리에 강하지만, 생성 보정·형제 생성·재계산 같은 도메인 관계 변화까지 모두 설명하기에는 한계
- Vizend 기본 프로젝트는 JPO를 단순 저장 모델로 두고, 자식이 부모 id를 들고 애플리케이션 코드에서 관계를 해석하는 방향을 선택
- 관계 전파는 Flow, Logic, PolicyHandler, CascadeContext로 분리하고, FieldSourceId와 RelationPolicy로 참조 그래프와 전파 그래프를 관찰
- 중복 처리 방지, 누락 정책 탐지, dry-run 영향 범위 계산 같은 운영 가능성을 함께 확보
