연관관계 매핑시 고려사항 3가지
다중성
단방향, 양방향
연관관계의 주인
다중성 : DB랑 매핑하기 위함. DB관점에서 보면 된다. 애매하거나 헷갈리는 경우에는 반대의 경우를 생각해보면 된다!대칭성)❓:1 의 반대 = 1: 다 ➜ ❓ = 다
다대일: @ManyToOne
일대다: @OneToMany
일대일: @OneToOne
다대다: @ManyToMany (실무에서 쓰면 안됨!!!❌)
단방향, 양방향
테이블
외래 키 하나로 양쪽 조인 가능
객체
참조용 필드가 있는 쪽으로만 참조 가능
한쪽만 참조 : 단방향
양쪽 참조 : 양방향(개념적인 용어이고, 사실은 단방향이 2개가 있는 것이다.)
연관관계의 주인!이라는 개념 등장
테이블은 FK 하나로 두 테이블이 연관관계를 맺기 때문에 FK 하나만 조회하면 되지만 객체는 A->B, B->A 처럼 참조가 2개이므로 A B 둘 중 FK를 관리할 곳을 지정해야한다!
연관관계의 주인: 외래 키를 관리하는 참조
주인의 반대편: 외래 키에 영향을 주지 않음, 단순 조회만 가능
Last updated