작성
·
126
0
@ManyToOne @OneToMany 관계에서
Member(주인)와 Team이 있을때,
Member클래스에는 편의메소드가 아래와 같이 있는 상태인데요,
public void changeTeam(Team team) {
this.team = team;
team.getMember().add(this);
}
team은 연관관계 주인이 아니라, team에서 아무리 멤버를 추가해도 업데이트가 되지 않는다는 점은 알고 있습니다.
---
만약 어떤 이유로
team에 멤버를 추가해도, 업데이트나 insert 쿼리가 발생하게 만들고 싶으면
team 클래스에 아래와 같이 add() 메서드를 통해 사용해도 되나요??
public class Team {
@Id
@GeneratedValue
@Column(name = "team_id")
private Long id;
private String name;
@OneToMany(mappedBy = "team")
private List<Member> member = new ArrayList<>();
public Team(String name) {
this.name = name;
}
public void add(Member member){
member.setTeam(this);
this.member.add(member);
}
}
즉 연관관계 편의메소드가 양쪽에 다 있는 상태가 되었는데,
맞는건가요?
답변 1
1
안녕하세요 Luke님
연관관계 편의 메서드가 양쪽에 있어도 사실 상관은 없습니다. 다만 양쪽으로 구현하면 번거롭기도 하지만, 일관성이 떨어지기 때문에 저는 설계 관점에서 추천하지 않는 편입니다.
감사합니다.