Как вы выполняете подзапросы JPQL?

#jpql

Вопрос:

Представьте, что я хочу использовать агрегирующий запрос в качестве условия для запроса, возвращающего сущность:

 SELECT u.id, count(u) 
FROM User u JOIN Job j ON j.user = u
WHERE [...]
GROUP BY u.id ORDER BY count(u) DESC
 

Я уже пытался выбрать и СГРУППИРОВАТЬ по u вместо u.id, но полученный SQL в отладке hibernate показал, что он не разрешает пользователю u все его поля в предложении group, поэтому запрос завершается ошибкой с исключением SQL

Я пробовал конструкции, похожие на

 SELECT u from User u WHERE u.id in (SELECT u.id, count(u) 
FROM User u JOIN Job j ON j.user = u
WHERE [...]
GROUP BY u.id ORDER BY count(u) DESC)
 

Но механизм запросов этого не понимает. Как бы вы решили эту проблему?