两个相同类型实体之间的JPA“朋友”关系

时间:2014-11-17 16:55:41

标签: java mysql jpa spring-data spring-data-jpa

我有一个已定义的JPA实体,该实体引用具有@ManyToMany关系的相同类型的其他实体。

@Entity(name = "GANG")
public class Gang {

  @Getter
  @Column(name = "NAME", nullable = false)
  private String name;

  @Getter
  @Column(name = "DESC", nullable = true)
  private String description;

  @ManyToMany
  private Set<Gang> allies;
}

“盟友”应指向将两个帮派连接在一起的连接表。但是,根据我目前对JPA的理解,当创建此实体并创建朋友链接时,在调用时,并不会返回所有链接,因为Gang ID(不在我的模型中显示,BINARY(16)UUID) ,可以存在于连接表的两列中。

+------------+------------+
|gang_a      |gang_b      |
+------------+------------+
|A           |B           |
+------------+------------+
|C           |A           |
+------------+------------+

当我找回帮派A的朋友时,我应该收到帮派B和帮派C的对象。我将如何处理这种关系?

0 个答案:

没有答案