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

개요

  • 하나의 팀은 여러 회원을 참조할 수 있음
  • 팀이 회원들을 참조
    • 회원 팀 참조 X → 단뱡향
@Entity
public class Team {
	@Id 
	@GeneratedValue
	@Column(name = "TEAM_ID")
	private Long id;
	private String name;
	
	@OneToMany
	@JoinColumn(name = "TEAM_ID")  //MEMBER 테이블의 TEAM_ID (FK)
	private List<Member> members = new ArrayList<Member>();
	
	//Getter, Setter...
}

@Entity
public class Member {
	@Id 
	@GeneratedValue
	@Column(name = "MEMBER_ID")
	private Long id;
	private String username;
	
	//Getter, Setter...
}

특징

  • 팀 엔티티의 members 가 회원 테이블의 TEAM_ID 외래키를 관리하게 됨.
  • @JoinColumn 을 사용해야함
    • 사용하지 않는다면, JPA 는 연결 테이블을 중간에 두고, 연관관계를 관리하는 조인 테이블 전략을 기본으로 사용하여 매핑

일대다 단방향은 권장되지 않음.

일단 다른 테이블의 외래키를 관리하는 형식은 비추