Frage

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

select e from Entity e /* I need only 10 results for instance */
War es hilfreich?

Lösung

Sie können wie versuchen, diese 10 Ergebnisse geben explizit abgerufen werden.

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

Es wird automatisch erstellen nativen Abfrage in Backend bestimmte Anzahl von Ergebnissen abzurufen, wenn die Backend unterstützt, und sonst die Grenze im Speicher tun, nachdem alle Ergebnisse zu bekommen.

Andere Tipps

Sie können einen Offset zu verwenden setFirstResult set ()

    em.createNamedQuery("Entity.list")
      .setFirstResult(startPosition)
      .setMaxResults(length);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top