上の図は、データベース構造の簡略化されたバージョンであり、時間の経過とともにアイテムの場所をログに記録するために使用します。各場所の現在のアイテム在庫を返す次の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に変換したいのですが、サブクエリでINNER JOINを実行する構文が見つからず、これはサポートされていないようです。上記をHQL(またはCriteria)に変換する方法はありますか、それともこの場合は標準のSQLクエリを使用する必要がありますか?ありがとう。