반응형 DDD1 JPA 연관관계 지옥에서 탈출하기: 복잡성을 줄이는 실무 설계 원칙 객체 그래프의 늪: 왜 JPA 연관관계는 복잡해지는가JPA를 처음 도입할 때 가장 먼저 마주하는 유혹은 객체 지향적인 참조 구조를 그대로 DB에 투영하는 것이다. 비즈니스 로직상 A가 B를 참조하니 당연히 @OneToMany나 @ManyToMany를 걸고, Lazy Loading으로 깔끔하게 조회하면 된다고 생각한다. 하지만 서비스 규모가 커지고 도메인 간의 간섭이 심해지면, 이 아름다웠던 객체 그래프는 양방향 참조와 복잡한 캐스케이드(Cascade) 설정으로 인해 성능 병목과 디버깅의 지옥으로 변한다. 초기 설계 단계에서 모든 엔티티를 촘촘하게 연결해두면 개발 생산성은 일시적으로 높아 보이지만, 운영 단계에서는 N+1 문제, Dirty Check에 의한 의도치 않은 업데이트, 그리고 순환 참조로 인한 .. 2026. 5. 8. 이전 1 다음 반응형