Możesz zmusić Hibernate do używania dialektu Oracle 10g, w ten sposób otrzymasz starą regułę limitu z wartością rownum zamiast najpierw pobierać.
Patrząc na oficjalna dokumentacja , możesz wymusić dialekt za pomocą tej właściwości:
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
Lub, jeśli używasz Spring Boot 2 z JPA, możesz ustawić w ten sposób:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
Pozdrawiam.