Ist es Weg, um einen Bildlauf Ergebnisse mit JPA/hibernate?
Fand ich einen Hinweis in Toplink
Query query = em.createQuery("SELECT e FROM Employee e ORDER BY e.lastName ASC, e.firstName ASC");
query.setHint("eclipselink.cursor.scrollable", true);
ScrollableCursor scrollableCursor = (ScrollableCursor)query.getSingleResult();
List<Employee> emps = scrollableCursor.next(10);
ist es der jpa - /hibernate-alternativen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meines Wissens, nichts ist standard in der PPV für das.
Mit Hibernate, die nächste alternative, die ich bewusst bin, wäre das
Query
/ScrollableResults
APIs. Aus der Dokumentation:Urteilen, die anderen Antworten JPA nicht unterstützt scrollen direkt, aber wenn Sie Hibernate als JPA-Implementierung, die Sie tun können,
Den Zugriff auf die zugrunde liegenden Hibernate-api für das scrollen, aber Sie können Sie alle features von JPA-Abfragen. (Zumindest für Kriterien Abfragen, die JPA-api bietet einige Funktionen, die nicht in die alten Hibernate-api.)
Bei der Verarbeitung große Anzahl von Personen in einem großen Projekt code basierend auf
List<E>
Instanzen,Ich zu schreiben, hat eine wirklich eingeschränkte Liste-Implementierung mit nur
Iterator
Unterstützung suchen Sie eineScrollableResults
ohne refactoring-alle services-Implementierungen und-Methode Prototypen mitList<E>
.Diese Umsetzung ist in meinen IterableListScrollableResults.java Gist
Es auch regelmäßig geleert Hibernate Entitäten aus der Sitzung. Hier ist ein Weg, es zu benutzen, zum Beispiel beim Export alle nicht archivierten Entitäten aus der DB als text-Datei mit einem
for
Schleife:Mit der Hoffnung, dass es helfen kann,
Auch mit Spring Data wäre eine option. Dort können Sie die Abfrage, und übergeben als parameter einen "PageRequest", in dem geben Sie die Seitengröße und die Seitenzahl:
Dafür benötigen Sie zum erweitern eines PagingAndSortingRepository.
Nur als weitere alternative für das paging über die Ergebnisse.
Natürlich, unter, es mit Hibernate, Toplink oder was auch immer JPA-Implementierung konfigurieren.
In JPA können Sie mithilfe von query.setFirstResult und-Abfrage.setMaxResults