我有五个MySQL表地图连接表的Map对象在Java中使用JPA
employee
qualification
institute qualification_institute
(ID,qualification_id, institute_id)employee_qualification_institute
(EMPLOYEE_ID, qualification_institute_id)
qualification_institute
定义了可获得的资格和机构之间的ManyToMany连接,而employee_qualification_institute
告诉我们哪个机构的特定员工获得了其资格。 EclipseLink在Employee
类中生成一个Set<QualificationInstitute>
字段,但是我想要一个Map<Qualification, Institute>
而不是它。我应该如何注释该地图?由于我有基于属性的访问,我需要在其getter方法中实现一个查询吗?
Qualification
类已包含Set<Institute>
字段,而Institute
类包含Set<Qualification>
。如果我可以在Employee
内注释一张地图,也许我可以避免必须有一个明确的EmployeeQualificationInstitute
类。
只是为了了解...什么是一个ManyToManyToMany关系的原因是什么?员工E是否有可能获得I1研究所的资格Q1,I1研究所的资格Q2,I2研究所的资格Q1以及I2研究所的资格Q2?如果是,那么确定,否则这是一个糟糕的分贝设计。 – perissf 2012-03-11 12:19:54
是的。多个学院可以获得一定的资格,而每个学院都有多种资格。我在Employee类中需要的地图是显示哪个资格是从哪个机构获得的。 – 2012-03-12 08:04:19