본문 바로가기
JPA with 김영한

다양한 연관관계 매핑

by wonseok99 2021. 9. 5.

1.  [ 1 : N  매핑 ]    @OneToMany,  @ManyToOne

일대다 단방향 매핑에서는 1이 연관관계의 주인으로써 외래 키(FK)를 관리하는 특이한 구조이다.
1의 테이블에서 @JoinColumn을 사용하여 외래키를 등록하여야 한다. 

* 일대다 단방향 매핑보다는 다대일 양방향 매핑을 사용하자!

 

 

2. [ 1 : 1 매핑 ]    @OneToOne

일대일 매핑에서는 주 테이블이나 대상 테이블 중에 외래 키(FK)를 선택할 수 있다.
외래 키에 데이터베이스 유니크 제약조건이 추가되어야 한다.
A라는 객체는 A의 엔티티에 있는 외래 키(FK)만 관리할 수 있다.

 

 

3. [ N : M 매핑 ]    @ManyToMany

객체상으로는 가능하지만 테이블상으로는 불가능한 구조.
따라서 연결용 중간 테이블을 추가하여 엔티티로 승격시켜주어야 한다.

-  중간 테이블에서 PK를 사용하는 방법

  1. 중간 테이블 자체적으로 새로운 PK를 생성한다.
  2. 각각의 테이블의 PK를 FK와 묶어서 활용한다.

실무에서 활용하지 않는다.

'JPA with 김영한' 카테고리의 다른 글

프록시(Proxy)  (0) 2021.09.09
상속관계의 매핑  (0) 2021.09.08
연관관계 매핑  (0) 2021.09.04
엔티티 매핑  (0) 2021.08.31
JPA와 영속성 컨텍스  (0) 2021.08.30