左连接提取的hibernate问题

时间:2014-09-22 11:20:27

标签: sql hibernate

我试图摆脱我们的一个HQL中的左连接提取:

query =从ClassPos r中选择r,f,c,ClassFal f,ClassCon c left join fetch c.ClassReg

DB包含满足以上where子句的数据:

ClassPos有1行,ClassFal有2行,ClassCon有1行,ClassReg有1行。

我们使用可滚动的结果滚动搜索结果:

ScrollableResults results = query.scroll(ScrollMode.SCROLL_INSENSITIVE);
i =0
while(results.next())
{
i++
}
print(i);

我们期望结果集有2行,但它返回1(i = 1)。当我们运行SQL时,我们可以在DB中清楚地看到2行。

现在,当我们摆脱左连接提取时,我们看到结果集有2行:

query = select r,f,c from ClassPos r, ClassFal f ,ClassCon c 
where <clause>

试图查找各个地方,但无法得到理由。有人可以解释这种行为吗?

0 个答案:

没有答案