인프런 커뮤니티 질문&답변

Luke님의 프로필 이미지
Luke

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

ManyToOne OneToMany 연관관계에서 궁금한점..

작성

·

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님

연관관계 편의 메서드가 양쪽에 있어도 사실 상관은 없습니다. 다만 양쪽으로 구현하면 번거롭기도 하지만, 일관성이 떨어지기 때문에 저는 설계 관점에서 추천하지 않는 편입니다.

감사합니다.

Luke님의 프로필 이미지
Luke

작성한 질문수

질문하기