2016-04-08 18 views
0

Ich habe ein Szenario, wo ich eine große Anzahl von Datensätzen aus der Datenbank abrufen und in ui anzeigen muss. Ich habe unter zwei möglichen Lösungen. Können Sie mir bitte helfen, einen besseren auszuwählen? 1. Alle Datensätze aus der Datenbank abrufen und im Speicher behalten und nur die erforderliche Anzahl von Datensätzen auf ui anzeigen. 2. Rufen Sie nur wenige Datensätze ab, die die Hibernate-Paginierung verwenden, die ui angezeigt werden muss.Paginierung mit einer großen Anzahl von Datensätzen

Ich kann Display-Tag-Bibliothek oder Jquery für die Seitenumbruch verwenden.

Vielen Dank im Voraus.

+0

Es ist besser, eine Seitennummerierung zu haben. Sie können die Daten von der Datenbank abrufen, sobald der Benutzer die Seite ändert. und im ersten Fall, wenn Sie alle Daten aus der Datenbank gleichzeitig abrufen, bedeutet das mehr Zeit zum Laden. –

Antwort

1

Wenn Sie die abgerufenen Daten in die table Mittel geladen werden,

  1. die Gesamtzahl der Datensätze finden und einstellen Seitenanzahl

2.On Seitenwechsel die Daten-Offset und Daten erhalten limit Wert der Tabelle und holt die Daten aus dem db

  1. ändern des Daten-Offset-Wert der Tabelle anhand der Seitenzahl
0

Es ist besser, eine Paginierung zu haben. Verwenden Sie den Index und rufen Sie die Daten entsprechend ab. können Sie beziehen sich this Dokument für mehr

1

Einige zusätzliche Hinweise zu anderen Antworten.

  1. Mit display tag können Sie ajax:displayTag von AjaxTags JavaScript-JSP Library verwenden Seiten über AJAX zu laden. Unser Team nutzt es intensiv.
  2. Diese einfache Klasse kann verwendet werden, um Paginierungsparameter für Hibernate zu spezifizieren: Pagination.
  3. Denken Sie daran, dass Sie im wirklichen Leben Anfragen mit Joins verwenden. Es ist unmöglich, Paginierungen für solche Anfragen zu verwenden. Hibernate lädt alle Datensätze in den Speicher und gibt paginierte Daten für Sie aus dem Speicher zurück. In solchen Situationen wird es besser sein paginiert zuerst ids und Daten laden durch ids.