연관관계 매핑시 고려사항
- 다중성
- 단방향, 양방향
- 연관관계의 주인
다대다(N:N)은 실무에서 절대로 사용하지 않는다
테이블
-외래키 하나로 양쪽 조인 가능
- 사실 방향성이라는 개념이 없다
객체
- 참조용 필드가 있는 쪽으로만 참조 가능
- 한쪽만 참조하면 단방향
- 양쪽이 서로 참조하면 양방향
다대일(N:1)
- 항상 N쪽에 외래키(주인)이 있어야 한다.
- 가장 많이 사용하는 연관관계의
- 다대일의 반대는 일대다
다대일 단방향
@Entity
public class Member {
@Id
@GeneratedValue
private Long id;
@Column(name="USERNAME")
private String username;
@ManyToOne
@JoinColumn(name="TEAM_ID")
private Team team;
}
다대일 양방향
@Entity
public class Team {
@Id
@GeneratedValue
@Column(name="TEAM_ID")
private Long id;
private String name;
@OneToMany(mappedBy = "team")
private List<Member> members = new ArrayList<>();
}
'JPA' 카테고리의 다른 글
일대일(1:1) (0) | 2022.10.23 |
---|---|
일대다(1:N) (0) | 2022.10.20 |
양방향 연관관계와 연관관계의 주인 2 - 주의점 (0) | 2022.10.18 |
양방향 연관관계와 연관관계의 주인 1 - 기본 (0) | 2022.10.17 |
연관관계 매핑 기초 (0) | 2022.10.09 |