본문 바로가기

연관관계 매핑2

[JPA] 연관관계 매핑 - 2 1. 다대일 (@ManyToOne) 다대일 관계의 반대 방향은 항상 일대다 관계고 일대다 관계의 반대 방향은 항상 다대일 관계이다. 데이터베이스 테이블의 일대다 관계에서 외래 키는 항상 다쪽에 있다. 따라서 양방향 관계에서 연관관계의 주인은 항상 다쪽이다. (1) 다대일 단방향 [N:1] @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String name; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; } @Entity @Getter.. 2022. 1. 2.
[JPA] 연관관계 매핑 - 1 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 엔티티의 연관관계를 매핑할 때 다음 3가지를 고려해야 한다. 다중성 단방향, 양방향 연관관계의 주인 1. 단방향 연관관계 객체 연관관계 회원 객체는 Member.team 멤버 변수로 팀 객체와 연관관계를 맺는다. 회원 객체와 팀 객체는 단방향 관계다. Member.team 필드를 통해서 팀을 알 수 있지만 반대로 팀은 회원을 알 수 없다. member.getTeam() 가능, team.getMember()는 불가능 테이블 연관관계 회원 테이블은 TEAM_ID 외래 키로 팀 테이블과 연관관계를 맺는다. 회원 테이블과 팀 테이블은 양방향 관계이다. 회원 테이블의 TEAM_ID 외래 키를 통해서 회원과 팀을 조인할 수 있고 반대로 팀.. 2022. 1. 1.
반응형