Hibernate查询返回重复的结果

时间:2018-05-02 15:17:20

标签: java sql hibernate

我正在尝试加入3个表来获取输出。以下是表格

player_match(match_id,TEAM_ID,player_id)

播放器(player_id,姓名,......)

队(TEAM_ID,名称......)

所有表都分配了等效的类。

以下是我正在运行的SQL查询并获得正确的结果。

@Id
private String id;

我在PlayerMatch java类中运行以下命名查询。 PlayerMatch类中包含Match和Team对象。这两个对象都映射到@ManyToOne。

select * from player_match M 
  inner join team T 
    on M.team_id = T.team_id
  inner join player P 
    on P.player_id = M.player_id
  where M.match_id = 335987;

当我运行上面的hibernate查询时,我得到22个结果是正确的,但所有结果的内容是相同的。

我上面提到的SQL查询返回22个非重复行。

我认为我在Hibernate查询的某个地方弄乱了,但无法弄清楚在哪里。

1 个答案:

答案 0 :(得分:0)

您的HQL查询的结构与SQL查询类似。您不需要指定'on'条件,因为它们是从hibernate架构派生的。

有关hql连接的更多信息,请参阅hibernate文档: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-joins