@Entity
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@ToString(of = {"id", "userName", "age"})
public class Member {
@Id
@GeneratedValue
@Column(name = "member_id")
private Long id;
private String userName;
private int age;
@ManyToOne
@JoinColumn(name = "team_id")
private Team team;
public void changeTeam(Team team) {
this.team = team;
team.getMembers().add(this);
}
public Member(String userName) {
this.userName = userName;
}
}
public void changeTeam(Team team) {
this.team = team;
team.getMembers().add(this);
}
Many인 Member에서 One인 Team을 바꿀때
Many만 바꾸는게 아니라 One도 같이 바꿔줘야함
예를 들어
memberA의 Team을 TeamA으로 바꾸고
response로 TeamA를 보내는 ApI라고 친다면
memberA의 Team을 TeamA로 바꿨지만
TeamA에는 memberA를 추가하지 않았기때문에 잘못된 결과를 초래함