JPAクエリでサブクエリにLIMITを課すことはできますか?JPAクエリのサブクエリにLIMITを課す方法は?
私は私が私が持っていると思いますJPQLでLIMITを使用することはできませんので、私は
select obj from IpInfo obj
where obj.rangeEnd < (select obj2.rangeStart from IpInfo obj2 where obj2.rangeStart >= ?1 order by obj2.rangeStart asc limit 1) and (?1 <= obj.rangeEnd)
ORDER BY obj.rangeEnd desc
limit 1
のようなものを持っていると思いますJPQLに直接変換する純粋なSQL
select * from ipinfo
where RangeEnd < (select RangeStart from ipinfo where RangeStart >= 1537022421 order by RangeStart asc limit 1) and (1537022421 <= RangeEnd)
ORDER BY RangeEnd desc
limit 1
でクエリを次のようしていますそれにsetMaxResults(1)
を使用してください。しかし、サブクエリはどうですか?
更新:
私は今の@NamedNativeQuery
で行くことにしましたが、それはDB固有のコードです。あなたが純粋なJPAソリューションを提案できるなら、私は本当にそれを感謝します。
地獄ええ!私は「分」は考えなかった。どうもありがとうございました! – expert
それは素晴らしいことですが、私は本当に元の質問への答えがほしいと思います。 – Amalgovinus