Ответ Дакворта в значительной степени решил проблему, так что это только для справки.
Это была моя первая попытка после прочтения ответов утки и Джона:
SELECT c FROM Client c JOIN c.jobs j
WHERE j.user = ?1
GROUP BY c
ORDER BY MIN(j.created) DESC
Но прямой выбор полных объектов не влияет на предложение GROUP BY и приводит к SQLGrammarException
.
Вместо этого теперь я получаю только идентификаторы, использующие этот запрос:
SELECT c.id FROM Client c JOIN c.jobs j
WHERE j.user = ?1
GROUP BY c.id
ORDER BY MIN(j.created) DESC
Тогда мне нужно только выбрать объекты, используя идентификаторы.
Спасибо всем!