해결된 질문
작성
·
540
1
public void changeTeam(Team team) {
this.team = team;
team.getMembers().add(this);
}
강의를 들었을 때 양방향 연관관계에서는 한쪽에만 작업을 해주면 안되고 양쪽을 작업해줘야 하기 때문에 위와 같은 코드를 작성한다고 알고 있습니다.
위 코드에서 팀 변경으로 인해 새로운 팀에 member를 추가해주고 기존의 팀의 list에서 제거해주는 작업은 별도로 진행하지 않아도 되는지 궁금하여 질문 남깁니다...
한쪽에 설정해주면 JPA가 알아서 양방향 연관관계에 대해서 정리해주는건가 싶기도 하고 잘모르겠어서 질문 드립니다
답변 2
1
안녕하세요. BBBBB님, 공식 서포터즈 코즈위버 입니다.
말씀하신것처럼 Team이 변경될 때를 대비하여 제거 코드를 추가하는 것이 좋습니다. 그러면 코드는 아래와 같은 형태가 됩니다 :)
public void changeTeam(Team newTeam) {
if(this.team != null) {
this.team.getMembers().remove(this);
}
this.team = newTeam;
newTeam.getMembers().add(this);
}
감사합니다.
0