BE전문가 프로젝트

다대일(N:1) 본문

JPA

다대일(N:1)

원호보고서 2022. 10. 18. 23:48

연관관계 매핑시 고려사항

  • 다중성
  • 단방향, 양방향
  • 연관관계의 주인

다대다(N:N)은 실무에서 절대로 사용하지 않는다

 

 

테이블
-외래키 하나로 양쪽 조인 가능
- 사실 방향성이라는 개념이 없다

객체
- 참조용 필드가 있는 쪽으로만 참조 가능
- 한쪽만 참조하면 단방향
- 양쪽이 서로 참조하면 양방향


다대일(N:1)

- 항상 N쪽에 외래키(주인)이 있어야 한다.
- 가장 많이 사용하는 연관관계의
- 다대일의 반대는 일대다

 

다대일 단방향

@Entity
public class Member {

    @Id
    @GeneratedValue
    private Long id;

    @Column(name="USERNAME")
    private String username;

    @ManyToOne
    @JoinColumn(name="TEAM_ID")
    private Team team;
}

 

대일 양방향

 @Entity
public class Team {

    @Id
    @GeneratedValue
    @Column(name="TEAM_ID")
    private Long id;

    private String name;

    @OneToMany(mappedBy = "team")
    private List<Member> members = new ArrayList<>();
}

 

'JPA' 카테고리의 다른 글

일대일(1:1)  (0) 2022.10.23
일대다(1:N)  (0) 2022.10.20
양방향 연관관계와 연관관계의 주인 2 - 주의점  (0) 2022.10.18
양방향 연관관계와 연관관계의 주인 1 - 기본  (0) 2022.10.17
연관관계 매핑 기초  (0) 2022.10.09
Comments