연관 관계 매핑 시 고려사항
연관 관계 매핑 시 고려사항 3가지
1. 다중성
- 다대일 : @ManyToOne
- 일대다: @OnetoMany
- 일대일: @OneToOne
- 다대다: @ManyToMany (실무에서 많이 사용되지 않는다)
데이터베이스 관점에서 다중성 고려
다중성을 생각할 때 헷갈릴 경우 반대의 경우도 생각해보기
2. 단방향, 양방향
- 테이블
- 외래 키 하나로 양쪽 조인 가능
- 사실 방향이라는 개념이 없음
- 객체
- 참조용 필드가 있는 쪽으로만 참조 가능
- 한쪽만 참조하면 단방향
- 양쪽이 서로 참조하면 양방향
사실은 양방향은 없다. 단방향이 두 개 있다.
3. 연관 관계의 주인
- 테이블은 외래키 하나로 두 테이블이 연관관계를 맺음
- 객체 양방향 관계는 A -> B, B -> A 처럼 참조가 2군데
- 객체 양방향 관계는 참조가 2군데 있음. 둘 중 테이블의 외래 키를 관리할 곳을 지정해야 함.
- 연관 관계의 주인 : 외래 키를 관리하는 참조
Leave a comment