[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 는 연결 테이블을 중간에 두고, 연관관계를 관리하는 조인 테이블 전략을 기본으로 사용하여 매핑

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

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


Uploaded by N2T