- 다대다(N:N) 연관관계 설정
- 연관관계를 설정하려는 두 Entity 사이 연결 테이블을 생성해 연관관계 설정
- @JoinTable을 사용해 연결 테이블 바로 매핑 가능
@Entity
public class User {
...
@ManyToMany
@JoinTabke(name = "user_product",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "product_id"))
private List<Product> products;
}
@Entity
public class Product {
...
@ManyToMany(mappedBy = "products")
private List<User> users;
}
- @JoinTable.name : 연결 테이블 지정
- @JoinTable.joinColumns : 현재 엔티티와 연결 테이블의 매핑할 컬럼 정보
- @JoinTable.inverseJoinColumns : 매핑할 엔티티와 연결테이블의 매핑할 컬럼 정보