Team team = new Team();
team.setName("TeamA");
em.persist(team);
Member member = new Member();
member.setName("member1");
team.getMembers().add(member); //**
//연관관계의 주인에 값 설정
member.setTeam(team); //**
em.persist(member);
순수한 객체 관계를 고려하면 항상 양쪽다 값을 입력해야 한다!!
@Entity
public class Member {
@Id @GeneratedValue
private Long id;
@Column(name = "USERNAME")
private String name;
private int age;
@ManyToOne
@JoinColumn(name = "TEAM_ID")
private Team team;
…
// 연관관계 편의 메서드
// or Team에서 편의 메서드 만들어도 된다!
public void changeTeam(Team team) {
this.team = team;
team.getMembers().add(this);
}