web-dev-qa-db-fra.com

Limiter le nombre de résultats dans JPQL

Comment limiter le nombre de résultats récupérés dans une base de données?

select e from Entity e /* I need only 10 results for instance */
51
coubeatczech

Vous pouvez essayer comme ceci en donnant 10 résultats à récupérer explicitement.

entityManager.createQuery(JPQL_QUERY)
             .setParameter(arg0, arg1)
             .setMaxResults(10)
             .getResultList();

Il créera automatiquement une requête native en back-end pour récupérer un nombre spécifique de résultats, si le backend le prend en charge, et sinon, fera la limite en mémoire après avoir obtenu tous les résultats.

65
Nayan Wadekar

Vous pouvez également définir un décalage à l'aide de setFirstResult ()

    em.createNamedQuery("Entity.list")
      .setFirstResult(startPosition)
      .setMaxResults(length);
20