How it is possible to limit the number of results retrieved from a database?
select e from Entity e /* I need only 10 results for instance */
JPA Setup In our repository method, we use the EntityManager to create a Query on which we call the setMaxResults() method. This call to Query#setMaxResults will eventually result in the limit statement appended to the generated SQL: select passenger0_.id as id1_15_, passenger0_.
JPQL doesn't support the LIMIT keyword.
hibernate. fetchSize", "100"); Or when using Spring Data JPA use a @QueryHints annotation on the interface method. Can be applied to both methods with and without @Query .
You can try like this giving 10 results to be fetched explicitly.
entityManager.createQuery(JPQL_QUERY) .setParameter(arg0, arg1) .setMaxResults(10) .getResultList();
It will automatically create native query in back-end to retrieve specific number of results, if the backend supports it, and otherwise do the limit in memory after getting all results.
You can set an offset too using setFirstResult()
em.createNamedQuery("Entity.list") .setFirstResult(startPosition) .setMaxResults(length);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With