1. [ 1 : N 매핑 ] @OneToMany, @ManyToOne
일대다 단방향 매핑에서는 1이 연관관계의 주인으로써 외래 키(FK)를 관리하는 특이한 구조이다.
1의 테이블에서 @JoinColumn을 사용하여 외래키를 등록하여야 한다.
* 일대다 단방향 매핑보다는 다대일 양방향 매핑을 사용하자!
2. [ 1 : 1 매핑 ] @OneToOne
일대일 매핑에서는 주 테이블이나 대상 테이블 중에 외래 키(FK)를 선택할 수 있다.
외래 키에 데이터베이스 유니크 제약조건이 추가되어야 한다.
A라는 객체는 A의 엔티티에 있는 외래 키(FK)만 관리할 수 있다.
3. [ N : M 매핑 ] @ManyToMany
객체상으로는 가능하지만 테이블상으로는 불가능한 구조.
따라서 연결용 중간 테이블을 추가하여 엔티티로 승격시켜주어야 한다.
- 중간 테이블에서 PK를 사용하는 방법
- 중간 테이블 자체적으로 새로운 PK를 생성한다.
- 각각의 테이블의 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 |