Is it possible to impose LIMIT on sub-query in JPA query ?
I have following query in pure 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
Converting it directly to JPQL I'd have something like
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
Since I can't use LIMIT in JPQL I'd have to use setMaxResults(1)
on it. But what about sub-query?
Update:
I decided to go with @NamedNativeQuery
for now but it's DB-specific code. If you guys can suggest pure JPA solution I'll really appreciate it.