我正在尝试加入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查询的某个地方弄乱了,但无法弄清楚在哪里。
答案 0 :(得分:0)
您的HQL查询的结构与SQL查询类似。您不需要指定'on'条件,因为它们是从hibernate架构派生的。
有关hql连接的更多信息,请参阅hibernate文档: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-joins