5.1 단방향 연관 관계
객체 관계 매핑
@Entity
public class Member {
@Id
@Column(name = "MEMBER_ID")
private Long id;
private String username;
//연관 관계 매핑
@ManyToOne
@JoinColumn(name="TEAM_ID")
private Team team;
//연관관계 설정
public void setTeam(Team team) {
this.team = team;
}
//Getter Setter
}
- @ManyToOne
- 다대일(N:1) 관계라는 매핑 정보
- 어노테이션 필수
- @JoinColumn(name="TEAM_ID")
- 조인컬럼은 외래 키를 매핑할 때 사용
- name 속성에 매핑할 외래 키 이름을 지정
- 생략 가능하다.
@JoinColumn 생략
- 기본 전략 : 필드명 + _ + 참조하는 테이블의 컬러명
- 외래키 = team_TEAM_ID
@ManyToOne
다대일 관계에 사용
@OneToMany
private List<Member> members; // 제너릭 사용
@OneToMany(targetEntity=Member.class) // 거의 사용 안함
private List members; // 타입 알 수 없음.