본문 바로가기
[JAVA]/JPA

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

by 팡펑퐁 2022. 11. 28.
728x90

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

다중성

  • 다대일 : @ManyToOne
  • 일대다 : @OneToMany
  • 일대일 : @OneToOne
  • 다대다 : @ManyToMany

 

 

단방향, 양방향

  • 테이블
    • 외래키 하나로 양쪽 조인 가능
    • 사실 방향이라는 개념이 없음
  • 객체
    • 참조용 필드가 있는 쪽으로만 참조 가능
    • 한쪽만 참조하면 단방향
    • 양쪽이 서로 참조하면 양방향(사실 양방향이라는 건 없음, 단방향이 두개인 것)
  • 연관관계의 주인
    • 테이블은 외래키 하나로 두 테이블이 연관관계를 맺는다.
    • 객체 양방향 관계는 참조가 양쪽에서 일어난다.
    • 때문에 둘 중에 테이블의 외래키를 관리할 곳을 지정해야한다.
      • 연관관계의 주인은 외래키를 관리하는 참조 쪽으로 한다.
      • 주인의 반대편은 외래키에 영향을 주지 않고 단순 조회만 가능하다.

 

 

 

참고

김영한 - 자바 ORM 표준 JPA 프로그래밍

728x90

'[JAVA] > JPA' 카테고리의 다른 글

JPA - 엔티티와 테이블 매핑시 주의 사항  (2) 2022.11.29
JPA - 다양한 연관관계 매핑  (0) 2022.11.28
JPA - 연관관계 매핑  (0) 2022.11.27
JPA - 기본 키 매핑  (0) 2022.11.27
JPA - 필드와 컬럼 매핑  (0) 2022.11.27