에러 안나게 해주세요

다대일 [N:1] 본문

Spring/JPA

다대일 [N:1]

Coom 2021. 3. 22. 14:41

연관관계 매핑시 고려사항 3가지

- 다중성

- 단방향, 양방향

- 연관관계의 주인

 

다중성

- 다대일 : @ManyToOne

- 일대다 : @OneToMany

- 일대일 : @OneToOne

- 다대다 : @ManyToMany

 

JPA에서 나오는 애노테이션은 전부 DB의 관점. 애매 할 때는 반대쪽으로 생각해 볼 것 ex) 회원과 팀의 관계

 

단방향, 양방향

  • 테이블
    - 외래키 하나로 양쪽 조인 가능
    - 사실 방향이라는 개념이 없음
  • 객체
    - 참조용 필드가 있는 쪽으로만 참조 가능
    - 한쪽만 참조하면 단방향
    - 양쪽이 서로 참조하면 양방향

연관관계의 주인

- 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음

- 객체 양방향 관계는 A->B, B->A 처럼 참조가 2군데

- 객체 양방향 관계는 참조가 2군데 있음. 둘중 테이블의 외래 키를 관리할 곳을 지정해야함

- 연관관계의 주인: 외래 키를 관리하는 참조

- 주인의 반대편 : 외래 키에 영향을 주지 않음. 단순 조회 기능

 

다대일 단방향 정리

- 가장 많이 사용하는 연관관계

- 다대일의 반대는 일대다

 

다대일 양방향 정리

- 외래 키가 있는 쪽이 연관관계의 주인

- 양쪽을 서로 참조하도록 개발 

'Spring > JPA' 카테고리의 다른 글

양방향 연관관계와 연관관계의 주인 (2) - 주의점,정리  (0) 2021.03.19
양방향 연관관계와 연관관계의 주인  (0) 2021.03.19
단방향 연관관계  (0) 2021.03.19
기본 키 매핑  (0) 2021.03.17
엔티티 매핑 (2)  (0) 2021.03.16