JPA를 사용하다보면 두개의 Entity를 다대일 연관관계로 매핑하는 경우가 생긴다.
이때 보통 양방향 연관관계
를 갖도록 설계한다.
문득, 왜 양방향 연관관계로 설정해야할까? 라는 궁금증이 생겨 알아보았다.
결론적으로는 양방향 연관관계를 항상 설정할 필요는 없고 단방향 연관관계로 매핑한 후 필요한 경우에 SQL 조인을 통해 가져오는 방법을 사용해도 된다고 한다.
하지만, 복잡한 조회 쿼리에서 양방향 연관관계로 설정 해야 편한 경우에는 양방향 매핑을 하는 것이 좋다.
예를 들어, (Team) 1:N (Member) 와 같이 Team과 Member를 fetch join을 통해 한번에 조회하고 싶은 경우에 양방향 매핑을 설정해야한다고 한다.
자세한 내용은 여기를 참조하면 좋을 것 같다.