# 연관관계 매핑시 고려사항 3가지

1. 다중성
2. 단방향, 양방향
3. 연관관계의 주인

다중성 : DB랑 매핑하기 위함.\
DB관점에서 보면 된다. 애매하거나 헷갈리는 경우에는 반대의 경우를 생각해보면 된다!대칭성)❓:1 의 반대 = 1: 다 ➜ ❓ = 다

* 다대일: @ManyToOne
* 일대다: @OneToMany
* 일대일: @OneToOne
* 다대다: @ManyToMany (실무에서 쓰면 안됨!!!❌)

단방향, 양방향

테이블

* 외래 키 하나로 양쪽 조인 가능

객체

* 참조용 필드가 있는 쪽으로만 참조 가능
* 한쪽만 참조 : 단방향
* 양쪽 참조 : 양방향(개념적인 용어이고, 사실은 단방향이 2개가 있는 것이다.)

**연관관계의 주인!이라는 개념 등장**

테이블은 FK 하나로 두 테이블이 연관관계를 맺기 때문에 FK 하나만 조회하면 되지만\
객체는 A->B, B->A 처럼 참조가 2개이므로 A B 둘 중 FK를 관리할 곳을 지정해야한다!

* 연관관계의 주인: 외래 키를 관리하는 참조
* 주인의 반대편: 외래 키에 영향을 주지 않음, 단순 조회만 가능

