연관 관계 매핑 시 고려사항

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

1. 다중성

  • 다대일 : @ManyToOne
  • 일대다: @OnetoMany
  • 일대일: @OneToOne
  • 다대다: @ManyToMany (실무에서 많이 사용되지 않는다)

데이터베이스 관점에서 다중성 고려

다중성을 생각할 때 헷갈릴 경우 반대의 경우도 생각해보기

2. 단방향, 양방향

  • 테이블
    • 외래 키 하나로 양쪽 조인 가능
    • 사실 방향이라는 개념이 없음
  • 객체
    • 참조용 필드가 있는 쪽으로만 참조 가능
    • 한쪽만 참조하면 단방향
    • 양쪽이 서로 참조하면 양방향

사실은 양방향은 없다. 단방향이 두 개 있다.

3. 연관 관계의 주인

  • 테이블은 외래키 하나로 두 테이블이 연관관계를 맺음
  • 객체 양방향 관계는 A -> B, B -> A 처럼 참조가 2군데
  • 객체 양방향 관계는 참조가 2군데 있음. 둘 중 테이블의 외래 키를 관리할 곳을 지정해야 함.
  • 연관 관계의 주인 : 외래 키를 관리하는 참조

Leave a comment