使用JPA和Java EE创建(多对多)多个关系

时间:2014-03-10 19:36:40

标签: java database jpa entity-relationship modeling

我正在尝试使用JPA创建关系。令人困惑,我无法绕过它。这很奇怪,因为我认为JPA限制了这一点。

以下是这个想法:

关系......

TableA
   pk    idA

...之间

TableB
   pk    idB

形成一张桌子:

TableA_TableB
   pfk   idA
   pfk   idB

将TableA_TableB(或生成的表)与另一个表TableC:

联系起来
TableC
   pk    idC

形成表格:

TableA_TableB_TableC
   pfk   idA
   pfk   idB
   pfk   idC

我想在表TableA_TableB_TableC中添加一个名为value的属性。所以它会是这样的:

TableA_TableB_TableC
   pfk   idA
   pfk   idB
   pfk   idC
         attribute

然而,注释@ManyToMany()是相当有限的。我只能加入一张带有一把钥匙的桌子。

我也在网上找不到一些像样的例子。所以是的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

ManyToMany-Annotation用于“普通”关系,没有任何其他信息。

我建议这样做:

  • 创建新的持久实体类(即“TableABCRelationship”)
  • 使用现有类中的三个OneToMany-Annotations和新类中的三个ManyToOne-Annotations将所有三个现有实体类链接到新实体类
  • 在新实体类
  • 中添加其他字段“attribute”
  • 更改所有现有参考资料

根据您现有的代码,重构所有内容可能需要付出一些努力......