Я не знаю, как это сделать с JPQL, но вы, вероятно, можете справиться с этим с помощью API Criteria, по крайней мере, я уверен, что мы можем сделать это с помощью подзапросов критериев Hibernate, так что я думаю, что это возможно и с JPA, даже если API-критерии JPA меня немного смущают.
Проверьте это:
JPA 2.0, API критериев, подзапросы, в выражениях
В любом случае вам даже не нужно ограничение на ваш подзапрос.
Ваш оригинальный запрос:
выберите RangeStart из ipinfo, где RangeStart> = 1537022421, порядок по пределу RangeStart asc 1
Кажется, вы хотите минимальный RangeStart вашего списка ipinfo, который чуть выше заданного значения. Для этого была создана функция min.
Вы можете просто использовать подзапрос, подобный этому:
select min(RangeStart) from ipinfo where RangeStart >= 1537022421
Даже если вам нужен другой ipinfo, возвращенный в вашем подзапросе, это можно сделать с помощью чего-то подобного:
select RangeEnd, anything,blabla from ipinfo where RangeStart = (
select min(RangeStart) from ipinfo where RangeStart >= 1537022421
)