개요
@ManyToMany
를 사용하면, 연결 테이블의 관리를 자동화하여 도메인 모델의 단순화를 가능하게 함
하지만,
- 실무에서는 이러한 매핑을 그대로 사용하지 않는다.
- 회원이 상품을 주문하는 경우
- 연결 테이블에 회원 아이디와 상품의 아이디만 저장하는 케이스만으로 충분치 않음.
- 주문 수량, 주문 날짜 등과 같은 추가 정보가 필요하다..
연결 테이블에 필드를 추가
- 연결 테이블을 직접 매핑하는 연결 엔티티를 별도 생성
- 해당 엔티티에 추가 필드를 매핑해야함.
- Member 엔티티에서..
@OneToMany(mappedBy = "member")
private List<MemberProduct> memberProducts = new ArrayList<>();
- MemberProduct 연결 엔티티까지
@Getter
@Setter
@Entity
@Table(name = "MEMBER_PRODUCT")
public class MemberProduct {
@Id
@Column(name = "PRODUCT_ID", nullable = false)
private String id;
@ManyToOne
@JoinColumn(name = "memberProducts")
private Member member;
}
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[4단원] DDL 생성 기능 (0) | 2023.11.04 |
---|---|
[6단원] 주 테이블에 외래키 (0) | 2023.11.04 |
[4단원] 기본 키 매핑 (0) | 2023.11.01 |
[4단원] 기본 키 직접 할당 전략, IDENTITY 전략 (0) | 2023.11.01 |
[4단원] 기본키 - SEQUENCE 전략 (0) | 2023.11.01 |