我有两个实体,称它们为A
和B
。这些实体可能处于三种不同的多对多关系之一。
我该如何在Hibernate中建模?思路是类A将具有以下字段:
Set<B> relationX;
Set<B> relationY;
Set<B> relationZ;
类B同样会有字段:
Set<A> relationX;
Set<A> relationY;
Set<A> relationZ;
两个类都拥有所有三个字段,因为我希望这个关联是双向的。
使用“标准”的Hibernate多对多注解,就像这样...
@JoinTable(name = "A_relX_B",
joinColumns = {@JoinColumn(name = "A_ID")},
inverseJoinColumns = {@JoinColumn(name = "B_ID")}
)
使用这种方法是行不通的,因为没有办法区分这三个独立的关系。我该如何实现呢?还是我需要手动分解m到n的关系?