Close
Close full mode
logo만렙 개발자 키우기

(5) 양방향 연관관계 저장

Git RepositoryEdit on Github
Last update: a year ago by nowwaterReading time: 2 min
public void testSave() {
//팀1 저장
Team team1 = new Team("team1", "팀1");
em.persist(team1);
//회원1 저장
Member member1 = new Member("member1", "회원1");
member1.setTeam(team1); //연관관계 설정 member1 -> team1
em.persist(member1);
//회원2 저장
Member member2 = new Member("member2", "회원2");
member2.setTeam(team1); //연관관계 설정 member2 -> team1
em.persist(member2);
}

Member.team 필드를 통해서 회원 과 팀의 연관관계를 설정하고 저장하였다.

주인이 아닌 곳에서 입력된 값은 외래키에 영향을 주지 않는다.

team1.getMembers().add(member1); //무시
team1.getMembers().add(member2); //무시
member1.setTeam(team1); //연관관계 설정(연관관계의 주인)
member2.setTeam(team1); //연관관계 설정(연관관계의 주인)

Member.team은 연관관계의 주인으로, 엔티티 매니저는 이곳에 입력된 값으로 외래 키를 관리한다.

🚀 JPA — Previous
(4) 연관관계 주인
Next — 🚀 JPA
(6) 양방향 연관관계 주의점