Oracle docs говорит: «Без order_by_clause нет никакой гарантии, что один и тот же запрос, выполненный более одного раза, получит строки в одном и том же порядке.», Поэтому ваш внутренний запрос не имеет никакого смысла.
Так что если вы хотите получить последнюю строку по некоторым критериям , вам следует использовать форму, подобную select * from table order by field desc fetch first row only
, где field desc
- параметры сортировки.
Кстати, я 'Я не уверен, что такой запрос можно преобразовать в JPA, потому что здесь используются специфичные для Oracle конструкции.Поэтому вам нужно использовать «собственный запрос», а не JPA.