연관관계 매핑 시 고려사항

  1. 다중성
    1. @ManyToOne, @OneToMany, @OneToOne, @ManyToMany
    2. 데이터베이스의 관점에서 고민하면 쉽게 해결할 수 있다.
    3. 다대다는 쓰면 안좋다... 하나의 키로 양쪽 다 조회가 가능하니..
  2. 단방향, 양방향
    1. 테이블은 외래키 하나로 양쪽의 조인이 가능하다. 따라서 방향이라는 개념이 없다. 반면, 객체의 경우는 참조용 필드가 있는 쪽으로만 참조가 가능하고 이경우 단방향과 양방향의 개념이 생기게된다.
    2. 즉 객체와 테이블 사이의 괴리로인해 발생하는 문제. 양방향은 곧 단방향이 두개라는 뜻.
  3. 연관관계의 주인
    1. 두 테이블 중 외래키를 관리할 곳을 지정하고, 연관관계의 주인은 외래키를 관리하는 객체가 된다.

다대일 단방향 연관관계 [N:1]

Untitled

다대일 양방향 연관관계 [N:1]

Untitled

일대다 단방향 연관관계 [1:N]

Untitled

일대다 양방향 연관관계[1:N]

Untitled

일대일 관계 [1:1]

Untitled

다대다 연관관계