Ich habe eine Anwendung basierend auf JBoss Seam, RichFaces und Hibernate/JPA. Ich habe eine DAO-Klasse und einige Business-Layer-Klassen erstellt, die zum Abrufen von Daten anhand verschiedener Kriterien verwendet werden. (Letzten abrufen, alle durchsuchen, usw.) Ich möchte diese Ergebnisse zurückgeben und sie für den Benutzer anzeigen lassen, so dass der Benutzer durch sie paginieren kann. Da die zurückgegebenen Objekte jedoch ziemlich groß sein können (und es gibt eine große Anzahl von Objekten), würde ich lieber keine Objekte wie <rich:dataList />
und <rich:datascroller />
verwenden, die erfordern, dass ich alle Objekte in einer großen Abfrage abruft und sie im Speicher belasse .Server-seitige Paginierungsmuster für die Naht?
Gibt es allgemein akzeptierte Muster für die serverseitige Paginierung von Datensätzen? Ich bin auf der Suche nach einer Strategie für:
- eine Teilmenge meiner Daten Abrufen eines Startindex verwendet und zähle
- Blättern Sie durch den Datensatz ‚next‘ und ‚zurück‘ Tasten, wodurch eine neue Teilmenge Abrufen von die Daten einen aktualisierten Startindex verwendet und
Hat jemand von Ihnen benutzerdefinierte Datenmodell Objekte zählen gesehen, die mich <rich:dataList />
und <rich:datascroller />
zu verwenden, aber immer noch durchführen serverseitige Paginierung mit Teilmenge von Abfragen ermöglichen würde? Ich wäre sehr neugierig auf Ihre Methoden für den Umgang mit einem solchen Szenario.
Einverstanden. Aber ich habe bereits DAO-Klassen, um den Datenabruf zu bewältigen. Meine Frage ist, ob es gut etablierte oder allgemein akzeptierte Muster für die serverseitige Paginierung gibt, die keine EntityQuery beinhalten. – Shadowman
Ja, und das ist im EntityQuery-Objekt implementiert. Warum schaust du dir nicht einfach den Quellcode an und implementierst das Gleiche? Im Grunde müssen Sie den Parameter min und max übergeben, wenn Sie die nächste Seite sagen, und in Ihrem 'query.firstResult (min) .maxResult (max)' angeben –