HQL
Sybase データベースと Derby データベースの両方で機能するこのクエリを作成しようとしています。クエリの擬似コードは次のとおりです。
from MY_TABLE as t
where (t.Val = :val)
and (t.Val2 >
( select max(tt.Val2)
from MY_TABLE as tt
where tt.Val = :val) - 2);
これを hibernate をクエリとして実行HQL
すると失敗しますがQuerySyntaxException: unexpected AST node
、クエリを SQL として実行すると成功します。サブクエリの結果から値を減算するのが好きではないことに絞り込みましたが、これを修正する方法を説明するものをグーグルで見つけることができませんでした。
私が間違っていることを知っている人はいますか?今のところ、先に進むために SQL として実行するだけですが、私の好奇心は本当に HQL でそれを行う方法を知りたがっています。