🔙뒤로가기

양방향 매핑 시 가장 많이 하는 실수

연관관계의 주인에 값을 입력하지 않음

Team team = new Team();
team.setName("TeamA");
em.persist(team);

Member member = new Member();
member.setName("member1");

//역방향(주인이 아닌 방향)만 연관관계 설정
team.getMembers().add(member);

em.persist(member);

테이블 결과는 아래와 같다.

ID USERNAME TEAM_ID
1 member1 null

양방향 매핑 시 연관관계의 주인에 값을 입력해야 한다.

순수한 객체 관계를 고려하면 항상 양쪽 다 값을 입력해야 한다.

Team team = new Team();
team.setName("TeamA");
em.persist(team);

Member member = new Member();
member.setName("member1");

team.getMembers().add(member); 
//연관관계의 주인에 값 설정
member.setTeam(team); //**

em.persist(member);

양방향 연관관계 주의 - 실습

양방향 매핑 정리

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