Frage Beschränken Sie die Anzahl der Ergebnisse in JPQL


Wie ist es möglich, die Anzahl der Ergebnisse aus einer Datenbank zu begrenzen?

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

50
2017-08-13 17:03


Ursprung


Antworten:


Sie können so versuchen, 10 Ergebnisse zu erhalten, die explizit abgerufen werden.

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

Es wird automatisch eine native Abfrage im Backend erstellen, um eine bestimmte Anzahl von Ergebnissen abzurufen, wenn das Backend dies unterstützt, und andernfalls das Limit im Speicher nach dem Abrufen aller Ergebnisse.


63
2017-08-16 16:43



Sie können auch einen Offset mit setFirstResult () setzen

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

20
2018-06-11 10:09