HQL: возможно ли выполнить ВНУТРЕННЕЕ СОЕДИНЕНИЕ для подзапроса?

Diagram

Диаграмма выше представляет собой упрощенную версию структуры базы данных, которую я использую для регистрации местонахождения предметов во времени. Я написал следующий 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-запрос? Спасибо.

10
задан JayPea 16 May 2012 в 18:50
поделиться