JPA为数据库中的2个不同行返回相同的数据

时间:2015-07-21 15:19:58

标签: java entity-framework hibernate jpa

有两个实体:Employee.javaCompany.java,具有双向@ManyToOne关系;员工与公司有@ManyToOne的关系,公司与员工有@OnetoMany的关系。

当我触发命名查询时。 Select c from Company c where c.Id='100';为员工返回了2条记录,但两行都有相同的数据,就像我在数据库中检查一样,我可以看到该列有两个不同的员工行,它们正在连接两个表。

任何人都可以指出我应该思考并尝试解决的方向吗?

1 个答案:

答案 0 :(得分:0)

根据我的理解,您在上面的数据库查询中返回相同的结果集。为了解决这类问题,我们使用候选键。在您的程序中,如果您向公司表中再添加一列 count ,那么我们可以同时使用employee_id和count作为候选键。 Plz更新您的代码,以便我可以根据您的需要进行修改。

或者,您可以在公司表中添加自动增量ID,然后也可以使用