@Entity
class Member {
@Id @GeneratedValue
@Column(name = "member_id")
private Long id;
@ManyToOne
@JoinColumn(name = "MEMBERS") // <-테이블의 컬럼 이름
private Team team;
}
class Team {
@Id @GeneratedValue
@Column(name = "team_id")
private Long id;
@Column
@OneToMany(mappedBy = "team")
private List<Member> members;
}
Team team = em.find(Team.class, 1L);
Member newMember = new Member();
team.members.add(newMember); //<- 해당 리스트는 아무값도 추가하지 못한다.
//외래키의 (종)은 읽기 전용이기 때문에 쓰기가 되지 않기 때문이다.
@Entity
class Member {
@Id @GeneratedValue
@Column(name = "member_id")
private Long id;
@ManyToOne
@JoinColumn(name = "MEMBERS") // <-테이블의 컬럼 이름
private Team team;
public void changeTeam(Team team) { <--이런식으로 연관관계 편의 메서드를 설정해주자
this.team = team;
team.addMember.add(this);
}
}