在休眠中取不重复的行
问题描述:
我想从Hibernate中的查询中获取列表,但没有重复的元素。在休眠中取不重复的行
目前,我有这样的:
SELECT t FROM Table t join fetch t.list tl WHERE tl.userid=:userid AND tl.tableid=t.id
这工作好!这个问题的,它返回相同的对象多次,用户标识其TL
因此,可以说用户id其发现3次在TL我得到:
T
TL1
TL2
TL3
T
TL1
TL2
TL3
T
TL1
TL2
TL3
,我想:
T
TL1
T
TL2
T
TL3
或只有一个:
T
TL1
TL2
TL3
我猜它可能在Hibernate中,但还没有对其进行管理还。
在此先感谢
答
写足够
SELECT distinct t FROM Table t join fetch t .......
-----^------
答
为什么你没有再使用DISTINCT
SELECT DISTINCT t FROM Table t join fetch t.list tl WHERE tl.userid=:userid
AND tl.tableid=t.id
它会给你造成不重复值
答
你也可以尝试使用Criteria.DISTINCT_ROOT_ENTITY
这很简单,力知道隐含的可能性是可能的。 谢谢 – 2013-04-25 10:03:16
它直到我们知道它没有那么多:)碰巧每个人都乐意帮助你:) – 2013-04-25 10:04:10