Я пытаюсь преобразовать свой SQL-запрос в HQL или JPQL (я хочу использовать сопоставление объектов).
Мой запрос SQL:
SELECT *
FROM (SELECT bde, MAX(creation_date)
FROM push_campaign GROUP BY bde) temp,
push_campaign pc where pc.bde = temp.bde and pc.creation_date = temp.creation_date;
Я пытаюсь (безуспешно) конвертировать его в JPQL с помощью:
select pc
from (select bde, max(creationDate)
from PushCampaign group by bde) temp,
PushCampaign pc
where pc.bde = temp.bde and pc.creationDate = temp.creationDate
Но я вырос:
IllegalArgumentException occured :
org.hibernate.hql.ast.QuerySyntaxException: неожиданный токен: (рядом
строка 1, столбец 16 [выберите ПК из (выберите идентификатор, макс. (creationDate) из
группа models.PushCampaign по bde) temp, models.PushCampaign pc где
pc.id = temp.id]
Я прочитал, что вложенный выбор может быть только в предложении select или where.
У вас есть обходные пути, чтобы сохранить запрос и выгоду от сопоставления объектов?