[인프런 김영한] 연관관계 매핑 기초 - 양방향 연관관계 매핑시 가장 많이 하는 실수

2021. 2. 4. 14:03프로그래밍 언어/Spring Framework

[인프런 김영한] 연관관계 매핑 기초 - 양방향 연관관계 매핑시 가장 많이 하는 실수


해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다.

Spring Boot, Spring Data JPA를 사용해 실습하였습니다.

김영한 인프런 : www.inflearn.com/users/@yh

 

인프런 - 김영한의 강의들을 만나보세요.

우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍

www.inflearn.com


▣ Goal

1. 양방향 관계시 많이 하는 실수

 - 양방향 연관관계 주의


 양방향 연관관계 주의

1. 순수 객체 상태를 고려해서 항상 양쪽에 값을 설정하자.

2. 양방향 매핑시에 무한 루프를 조심

 

무한루프를 조심하기 위해 양쪽에 값을 설정한다.

김영한님은 이것을 연관관계 편의 메소드라고 부른다.

 

Class Team {

   ...

   setTeam(Team team) {

   this.team = team;

   team.getMembers().add(this);

   }

}

 

 

▣ 양방향 매핑 정리

1. 단방향 매핑만으로도 이미 연관관계 매핑은 완료.

2. 양방향 매핑은 반대방향으로 조회기능이 추가된것

3. JPQL에서 역방향으로 탐색할 일이 많음

4. 단방향 매핑을 잘 하고 양방향은 필요할 때 추가해도 됨 (테이블에 영향을 주지 않음)

 

연관관계 주인을 정하는 기준

-> 연관관계의 주인은 왜래키의 위치를 기준으로 정해야함

(Member[주인]) 다 : 1 (Team)