我正在尝试执行以下操作(非常人为的示例):
我有两个表 A 和 B,它们形成了一个多对多关系,为此我创建了一个映射表 A_B。然后我有一个表 C,它与映射表 A_B 形成一对多的关系。
tableA
------
a_id [pk]
然后
tableB
------
b_id [pk]
然后
tableA_B
-------
a_id [pk]
b_id [pk]
然后
tableC
------
c_id [pk]
然后
tableC_AB
---------
c_id [pk]
a_id [pk]
b_id [pk]
因此,在 Hibernate 中,我为 A、B 和 C 创建了实体...
ClassA {
....
@JoinTable(
name="A_B",
joinColumns={@JoinColumn(name="a_id")},
inverseJoinColumns={@JoinColumn(name="b_id")}
)
@ManyToMany(cascade = {CascadeType.ALL})
private Set<B> bset = new HashSet<B>();
}
那么(反比关系)
ClassB {
@ManyToMany(mappedBy="bset")
private Set<A> subjects = new HashSet<A>();
}
这会创建第一个映射 A_B 但是我不确定如何在休眠中创建映射 C_AB。我什至没有 A_B 的实体(仅存在于数据库中)所以我该怎么做呢?
任何帮助表示赞赏。
干杯,
爱