다대다
- 관계형 데이터베이스는 정규화된 테이블 2개로 다대다 관계를 표현할 수 없음
- 연결 테이블을 추가해서 일대다, 다대일 관계로 풀어내야 함
- 객체는 컬렉션을 사용해서 객체 2개로 다대다 관계 가능
- @ManyToMany 사용
- @JoinTable로 연결 테이블 지정
- 다대다 매핑: 단방향, 양방향 가능
다대다 매핑의 한계
- 편리해 보이지만 실무에서 사용 X
- 연결 테이블이 단순히 연결만 하고 끝나지 않음
- 주문시간, 수량 같은 데이터가 들어올 수 있음
다대다 한계 극복
- 연결 테이블용 엔티티 추가 (연결 테이블을 엔티티로 승격)
- @ManyToMany → @OneToMany, @ManyToOne
'JPA > 연관관계 Mapping' 카테고리의 다른 글
[JPA] @MappedSuperclass (0) | 2023.03.01 |
---|---|
[JPA] 상속관계 매핑 (0) | 2023.03.01 |
[JPA] 일대일 [1:1] (0) | 2023.03.01 |
[JPA] 일대다 [1:N] (0) | 2023.03.01 |
[JPA] 다대일 [N:1] (0) | 2023.03.01 |