Диаграмма выше представляет собой упрощенную версию структуры базы данных, которую я использую для регистрации местонахождения предметов во времени. Я написал следующий SQL-запрос, который возвращает текущий инвентарный список предметов в каждом местоположении:
select *
from ItemLocationLog l
inner join
(select g.idItemLocationLog, max(g.dateTime) as latest
from ItemLocationLog g
group by g.idItem)
as i
on l.idItem = i.idItem and l.dateTime = i.latest
Проблема, с которой я столкнулся, заключается в том, что я хочу преобразовать его в HQL, но я не нашел синтаксиса для выполнения ВНУТРЕННЕГО СОЕДИНЕНИЯ на подзапрос, и похоже, что это не поддерживается. Есть ли способ преобразовать приведенное выше в HQL (или критерии) или в этом случае мне придется использовать стандартный SQL-запрос? Спасибо.