@Entity
@Getter
@Setter
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="MEMBER_ID")
private Long id;
private String name;
@ManyToOne
@JoinColumn(name="TEAM_ID")
private Team team;
}
@Entity
@Getter
@Setter
public class Team {
@Id
@GeneratedValue
private Long id;
private String name;
}
Team team=new Team();
team.setName("teamA");
//멤버에 팀을 id가 아니라 team자체를 set할수 있다.
Member member1=new Member();
member1.setName("홍길동");
member1.setTeam(team);
Member member2=new Member();
member2.setName("둘리");
member2.setTeam(team);
@Entity
@Getter
@Setter
public class Team {
@Id
@GeneratedValue
private Long id;
private String name;
//mappedBy의 이름은 Member에 @JoinColum(name="TEAM_ID") 어노테이션이 붙어있는 변수의 변수name이다.
@OneToMany(mappedBy = "team")
List<Member> members=new ArrayList<>();
}
@ManyToMany를 사용해서 매핑할경우 중간테이블을 jpa가 지멋대로 만들어 버린다.