0
я выполнить запрос ниже непосредственно в базе данных Mysql, и она работает, как ожидалось:SQL - Hibernate неожиданный маркер
select lu.* from LocationUpdate lu inner join (select imsi,MAX(date) as maxdate from LocationUpdate group by imsi) grouplu on lu.imsi = grouplu.imsi and lu.date = grouplu.maxdate
В HQL я просто изменил lu.*
на lu
, но я получаю эту ошибку:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: (near line 1, column 114 [select lu from com.truphone.simmanager.simcard.service.impl.entities.locationupdate.LocationUpdate lu inner join (select imsi,MAX(date) as maxdate from com.truphone.simmanager.simcard.service.impl.entities.locationupdate.LocationUpdate group by imsi) grouplu on lu.imsi = grouplu.imsi and lu.date = grouplu.maxdate]
Кто-нибудь знает, что мне не хватает?
Я думаю, что lu необходимо заменить на LocationUpdate, поскольку HQL будет рассматривать как enity для него. Просто замените' select lu from' на 'select LocationUpdate from' и повторите попытку –
Это не решение. Это можно сделать, но Hibernate может преобразовать LocationUpdate в lu. У меня это в других сценариях. Спасибо за попытку помочь. – bsferreira