首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有非唯一密钥的JPA Hibernate manyToMany

具有非唯一密钥的JPA Hibernate manyToMany
EN

Stack Overflow用户
提问于 2011-09-30 07:02:21
回答 1查看 1K关注 0票数 1

我有两个实体(表):DepartmentPerson。这两个表都有一个字段代码,它是而不是唯一的

如何定义这些表之间的manyToMany双向关系?

  1. 部门拥有集合人员,其中包含所有具有Person.CODE eq Department.CODE
  2. 合作伙伴的实体,集合部门包含有Department.CODE eq Partner.CODE

的所有实体。

我需要关系定义-没有或hpql查询。

用HPQL做这件事没什么问题,但我需要注释。

为给定的departmentID选择人员:

代码语言:javascript
复制
select P.* from Person P, Deparment d  
where d.department_id = ? and 
p.code = d.code and 
? between d.validFrom and d.validTill and  
? between p.validFrom and p.validTill 

冬眠公式是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2011-09-30 11:29:29

首先,您肯定需要DB中的第三个表来拥有多到多的关系,称之为department_person。从这里声明两个外键,它们引用PersonsDepartments表。

之后,你可以:

1)定义一个新的JPA实体DepartmentPerson,并定义每个外键之间的多对一关系。因此,您应该创建两个一对多的关系,它们将指向从PersonsDepartmentPerson和从DepartmentDepartmentPerson的集合,从而产生所需的集合。

2)在两个初始实体中的一个中定义了一个多对多的关系,说明department_person是关系的所有者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7607001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档