![]()
- 관계형 데이터베이스는 정규화된 테이블 2개로 다대다 관계를 위의 예시처럼 표현할 수 없음
- 연결테이블(Member_Product) 을 추가해서 일대다, 다대일 관계로 풀어내야함
(실무에서는 사용 X)
- @ManyToMany 사용
- 특별하게 @JoinColum이 아닌, @JoinTable을 사용한다.
@JoinTable(name = "테이블 이름 매핑",
joinColumns = @JoinColumn(name = "Entity 클래스 Pk Column명"),
inverseJoinColumns = @JoinColumn(name = "매핑할 테이블
Entity 클래스 Pk Column명"))
@ManyToMany(mappedBy = "List 필드명")
정리
- 값타입은 Getter만 제공하여, 변경이 불가능하게 설계한다.
- @Setter를 제거하고, 생성자에서 값을 모두 초기화하여 변경이 불가능한 클래스로 만든다.
- 임베디드 타입(@Embeddable)은 자바 기본생성자를 !!설정해야한다.