Ich verwende Spring Data Repositories ohne Probleme. Als ich versuchte, Paging hinzuzufügen (über die Schnittstelle "Ausblendbar"), funktionierte es OK.
Wenn die zurückgegebene Ergebnismenge jedoch kleiner als die Seitengröße ist, ist das Ergebnis eine leere Liste.
Das Folgende ist meine PageRequest. Die Standardwerte für index und objectsPerPage sind 0 bzw. 10.
%Vor%Bei Verwendung einer Abfrage, die weniger als 10 Ergebnisse zurückgibt, ist die resultierende Liste leer.
So verwende ich das Repository in der Service-Schicht:
%Vor%BEARBEITEN 1 Ich habe die Ursache dafür gefunden, aber ich suche immer noch nach einer Lösung oder einem Workaround.
%Vor% Dieser Code, der sich in der Klasse SimpleJpaRepository
befindet, macht select count...
, und wenn die Anzahl kleiner als der Offset ist, wird eine leere Liste zurückgegeben.
Gemäß PageRequest
Implementierung:
Wenn Sie also page
auf 0
setzen, muss der offset
Wert auch 0
sein und darf nicht größer sein als total
(wenn total > 0
).
Überprüfe (vielleicht im Debugger), welchen pageIndex
-Wert du an Spring-Daten gibst.
Es kann ein anderer Wert sein - manchmal ist es ein einfacher Fehler.
Tags und Links java hibernate spring spring-data