等价的hql查询? (在FROM子句中使用嵌套查询进行查询)

时间:2013-06-15 20:35:43

标签: sql database hibernate hql

我需要什么:
请求是分阶段提出的,每个阶段都在某个时间开始和结束 我需要知道有多少请求需要相同的时间才能完成(状态完成的所有子阶段的总和)

以下sql查询给出了我需要的结果,但它在from子句中有一个嵌套查询(在hql中不允许)

SELECT dist, count(*)
FROM
(
 SELECT S.parentRequestId, sum(S.finishedAt - S.startedAt) as dist
 FROM blarhg.Stage S
 WHERE S.status='FINISHED'
 GROUP BY S.parentRequestId
) qin
GROUP BY dist;

如何在hql中实现相同的结果?

1 个答案:

答案 0 :(得分:0)

每种技术都有其局限性。 HQL也不例外:有些查询无法表达为HQL。

在这种情况下,我只使用接受常规SQL的createNativeQuery(),继续前进。