JPA 직접참조 / 간접참조
* 관련 기술 스택이 없습니다
• DDD에서는 확장성과 성능을 고려하여 간접 참조를 권장한다. 직접 참조는 편한 탐색과 라이프사이클 맞춤이 가능하지만, 참조 객체 오용 가능성, 확장성 저하, 성능 저하 가능성이 있다.
• Article과 Comment 관계에서도 간접 참조가 적절하다. 직접 참조를 사용하면 연관 관계 맺은 객체를 쉽게 탐색할 수 있지만, 바뀌지 않길 원하는 참조 객체의 값이 바뀔 가능성이 있다.
• 성능 조회 시, 일대다 관계에서는 레이지 로딩을 사용하고, 일대일 관계에서는 레이지 로딩을 사용해도 즉시 로딩이 되며, 참조한 객체의 인스턴스 변수가 몇 개든 전부 같이 조회해야 한다. 하지만 ID를 통한 간접 참조를 사용하면 참조한 객체의 ID만 조회해오게 되어 성능의 이점을 얻을 수 있다.
• 개발 초기 단계에서는 확장성을 고려하여 간접 참조를 사용하는 것이 적절하다. 하지만 기본 개발 단계 이후에는 response에서 관련된 정보가 필요할 때 직접 참조가 필요할 수 있다. 이때는 협업하는 사람들과의 소통이 중요하다.
북마크
공유하기
신고하기