개요

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

  1. 다중성(Multiplicity) : N:1, 1:N, 1:1, N:M
  2. 방향(Direction) : 단방향(한 쪽만 참조), 양방향(양쪽 서로 참조)
    1. 방향은 객체 관계에만 존재하고, 테이블은 항상 양방향이다.
  3. 연관관계의 주인(Owner) : 객체 양방향 연관관계는 관리 주인을 정한다.

단방향 연관관계

Untitled

회원을 조회 후 회원이 소속한 팀을 알고 싶다면?

@Entity
public class Team {
	@Id @GeneratedValue
	@Column(name = "TEAM_ID")
	private Long id;

	@Column(name = "TEAM_NAME")
	private String name;
}

@Entity
public class Member {
	@Id @GeneratedValue
	@Column(name = "MEMBER_ID")
	private Long id;

	@Column(name = "USER_NAME")
	private String name;

// Member 를 찾고 Team 의 Id 를 통해 한 번 더 조회를 해야 한다.
// @Column(name = "TEAM_ID")
// private Long teamId;

	// 연관 관계 맵핑(단방향)
	@ManyToOne
	@JoinColumn(name = "TEAM_ID")
	private Team team;
}

@JoinColumn