Hibernate映射,具有多对多关系表的实体
问题描述:
我得到了两个表之间的多对多关系。我使用注释@ManyToMany来映射它。Hibernate映射,具有多对多关系表的实体
表1 --->关系表--->表2
使用Hibernate我没有创建关系表,所以我有任何的实体。
实体1(表1)--->实体2(表2)
但我的问题是,我还有一个表,我必须这样做3TH表和关系之间的关系之前的表和我没有任何实体之间的关系。
表3 --->关系表
我的意思是3TH表得到了与我之前使用的关系表的外键...
我怎么可以成就呢?对不起,我的英语
谢谢
答
这里是一个例子。 想象一下,我们对我们的产品和类别 你有2个实体产品和类别
使用Hibernate的代码优先方法,该实体将是这样的:
@Entity
@Table(name = "products")
public class Product implements Serializable {
private Long id;
....
@ManyToMany
@JoinTable(name = "categories_products",
joinColumns = @JoinColumn(name = "category_id",
referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "product_id",
referencedColumnName = "id"))
private Set<Category> categories;
...
这里是代码
代码public class Category {
private Long id;
private String name;
...
}
通过使用注释@JoinTable,将创建第三个表格,并使用以下约束。它会有category_id,它指向产品id的Categories id和product_id。