Hibernate的多对多的许多人(Hibernate Many to Many on many t

2019-09-19 07:00发布

我正尝试映射现有的数据库使用注释休眠。 问题如下。

“组织”和“organization_roles”具有多对多的关系,其在表中“organization_has_roles”使用两个主键为连接表的复合主键解决。

接下来是一个“用户”表。 用户可以在多个组织的一个角色。 这又解决了一个名为“users_has_organizations_and_role”它具有“USER_ID”,“的organization_ID”和“organization_role_id”和对“USER_ID”和“的organization_ID”一个unique_index的复合主键连接表。

在“users_has_organizations_and_role”引用“organization_has_roles”复合主键(的organization_ID,organization_role_id)和用户台(USER_ID)

我一直没能找到在这个问题上是合作的例子。

是否有可能映射此。 其中批注我应该用怎么样?

I'm使用Hibernate 4,尽管它可能没有关系..

Answer 1:

这种方法的主要问题是,你有一个不可映射的ORM不匹配:您在数据库中(有实体organization_has_roles ),它被翻译为OO的关系。 由于这种关系是不是一个实体,并且没有@Id ,它不能被引用到另一个实体。

一种解决方案是将数据库实体映射organization_has_roles成JPA /休眠实体,或者是复合键,或与合成关键(不管你喜欢)。 然后,您可以参考这个实体在User模式。



文章来源: Hibernate Many to Many on many to