지우쓰 개발일기
[JPA] 연관관계 Mapping (2) 본문
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다.
1:1 연관관계
-
주 테이블에 FK
-
단방향
-
양방향
-
-
대상 테이블에 FK
-
양방향
-
N:N 연관관계
-
관계형 DB는 다대다 관계를 정규화된 테이블 2개로 표현할 수 없고, 연결 테이블을 중간에 추가함
- 객체는 객체 2개만으로 다대다 관계를 표현할 수 있음
- @ManyToMany
- @JoinTable
속성 | 기능 |
name | 연결테이블 지정 |
joinColumns | 현재 엔티티를 참조하는 FK |
inverseJoinColumns | 반대 방향 엔티티를 참조하는 FK |
@ManyToMany
@JoinTable(name = "MEMBER_PRODUCT",
joinColumns = @JoinColumn(name = "MEMBER_ID",
inverseColumns = @JoinColumn(name = "PRODUCT_ID"))
private List<Product> products = new ArrayList<Product>();
- 이 방법으로는 연결 테이블의 추가 컬럼을 표현할 수 없어 실무에 적용하기는 어려움
연결 엔티티
-
식별 관계: 복합 기본 키 매핑
-
@IdClass
-
@EmbeddedId
-
-
비식별 관계: 새로운 기본 키
-
보다 간결하게 매핑 가능 (추천)
-
'Spring Boot > JPA' 카테고리의 다른 글
[JPA] 복합키와 식별관계 Mapping (0) | 2020.09.13 |
---|---|
[JPA] 상속관계 Mapping (0) | 2020.09.13 |
[JPA] 연관관계 Mapping (1) (0) | 2020.09.10 |
[JPA] Persistence Context (0) | 2020.09.09 |
[JPA] JPQL 개요 (0) | 2020.09.09 |
Comments