🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

기초적인 질문입니다...

23.07.24 13:19 작성 조회수 442

1

public void changeTeam(Team team) {
this.team = team;
team.getMembers().add(this);
}

강의를 들었을 때 양방향 연관관계에서는 한쪽에만 작업을 해주면 안되고 양쪽을 작업해줘야 하기 때문에 위와 같은 코드를 작성한다고 알고 있습니다.

위 코드에서 팀 변경으로 인해 새로운 팀에 member를 추가해주고 기존의 팀의 list에서 제거해주는 작업은 별도로 진행하지 않아도 되는지 궁금하여 질문 남깁니다...

한쪽에 설정해주면 JPA가 알아서 양방향 연관관계에 대해서 정리해주는건가 싶기도 하고 잘모르겠어서 질문 드립니다

답변 2

·

답변을 작성해보세요.

1

codesweaver님의 프로필

codesweaver

2023.07.24

안녕하세요. BBBBB님, 공식 서포터즈 코즈위버 입니다.

말씀하신것처럼 Team이 변경될 때를 대비하여 제거 코드를 추가하는 것이 좋습니다. 그러면 코드는 아래와 같은 형태가 됩니다 :)

public void changeTeam(Team newTeam) {
    if(this.team != null) {
        this.team.getMembers().remove(this);
    }
    this.team = newTeam;
    newTeam.getMembers().add(this);
}

감사합니다.

0

BBBBB님의 프로필

BBBBB

질문자

2023.07.24

빠른 답변 감사드립니다!!!

채널톡 아이콘