테이블, 객체의 연관관계 차이점

객체의 연관관계

연관관계의 주인

Untitled

양방향 매핑시 유의사항

다 대 1

@Entity // 1
public class Team {
    @Id @GeneratedValue
    @Column(name = "team_id")
    private Long id;
    
    @OneToMany(mappedBy = "team") // @@@ mappedBy 속성을 통해, 연관관계의 주인인 Member.team과 매핑해준다. (1->다)
    List<Member> members = new ArrayList<>();

    private String name;
}

@Entity // 다 
public class Member {
    @Id @GeneratedValue
    @Column(name = "member_id")
    private Long id;
    
    @ManyToOne
    @JoinColumn(name = "team_id")  // @ 어떤 컬럼이랑 매핑되었는지 알려준다. 이 필드가 연관관계의 주인이다. (다->1)
    private Team team;
    
    private String username;
}