繁体   English   中英

休眠映射,具有多对多关系表的实体

[英]Hibernate mapping, entity with many to many relationship table

我在两个表之间建立了多对多关系。 我使用注解@ManyToMany对此进行映射。

表1 --->关系表--->表2

使用休眠,我不必为关系表创建任何实体,因此可以。

实体1(表1)->实体2(表2)

但是我的问题是我有另一个表,并且我必须在第3个表和前一个表之间的关系表之间建立关系,而我没有任何实体可以执行该关系。

表3 --->关系表

我的意思是这个第3个表在我之前使用过的关系表中得到了一个外键...

我怎样才能做到这一点? 对不起我的英语不好

谢谢

这是一个例子。 想象我们有产品和类别您有2个实体产品和类别

使用休眠代码优先方法,实体将如下所示:

@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,该category_id指向类别ID,并指向Products ID的product_id。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM