다양한 연관관계 매핑

  • 다대일(N:1)
  • 일대다(1:N)
  • 일대일(1:1)
  • 다대다(N:N)
  • 연관관계 매핑시 고려사항
    • 다중성
      • 다대일(@ManyToOne)
      • 일대다(@OneToMany)
      • 일대일(@OneToOne)
      • 다대다(@ManyToMany) : 실무에선 사용해선 안 된다.
    • 단방향, 양방향
    • 연관관계의 주인

다대일 단방향 정리

다대일 단방향

//Member

@ManyToOne
@JoinColumn(name = "TEAM_ID")
private Team team;
//Team

//Team은 Member로 참조하고 싶은 의지가 없음
  • 가장 많이 사용하는 연관관계
  • 다대일의 반대는 일대다

다대일 양방향 정리

다대일 양방향

//Member

@ManyToOne
@JoinColumn(name = "TEAM_ID")
private Team team;
//Team

@OneToMany(mappedBy = "team")
private List<Member> members = new ArrayList<Member>();
  • 외래 키가 있는 쪽이 연관관계의 주인
  • 양쪽을 서로 참조하도록 개발