2013-06-15 2 views
0

что мне нужно:
Запросы сделаны из этапов, каждый этап начинается и заканчивается в определенное время.
я должен знать, сколько запросов приняли такое же количество времени, чтобы закончить (сумма дельты всех детей этапы, которые находятся в состоянии закончил)эквивалентный запрос hql? (запрос с вложенным запросом в предложении FROM)

следующий SQL запрос дает мне результат мне нужно, но у него есть вложенный запрос в предложении из (которое не допускается в 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?

ответ

0

Каждая технология имеет свои пределы. HQL не является исключением: есть некоторые запросы, которые не могут быть выражены как HQL.

В подобных ситуациях я просто использую createNativeQuery(), который принимает обычный SQL и перемещается.

Смежные вопросы