HQL查询返回重复记录

时间:2012-11-26 09:15:06

标签: hibernate hql

我的问题是如何解决hql查询后“返回重复记录”。这是一个例子:

SELECT t0 FROM table0 t0, table1 t1, table2 t2 WHERE 

(((t0.a = 1 AND t0.b = 2 AND t0.c = 3) AND (t1.a = 4 AND t1.b = 5 AND t1.c = 6)) 

OR 

((t0.a = 7 AND t0.b = 8 AND t0.c = 9) AND (t1.a = 10 AND t1.b = 11 AND t1.c = 12) AND (t2.a = 13 AND t2.b = 14 AND t2.c = 15))

此查询正确返回记录,但有些记录会多次返回。我想我知道原因。 “table2 t2”未在“OR”之前的条件中使用(在“WHERE”和“OR”之间)。 我怎样才能避免重复记录?

谢谢

1 个答案:

答案 0 :(得分:0)

如果你粘贴的是SQL输出(不是HQL),问题是这个语句没有正确地加入表。

我希望表t0t1t2之间存在某种关系,查询应包含WHERE t0.foo = t1.bar AND t1.baz=t2.bah。由于缺少这一点,预计结果会重复。