Wie filtern PageRequest im Frühjahr
Wenn ich eine Anfrage über alle news, die ich in meiner Datenbank verwende ich eine PageRequest wie diese:
public Page<StatusUpdate> getPageSiteUser(int pageNumber) {
PageRequest request = new PageRequest(pageNumber-1, pageSize, Sort.Direction.DESC, "added");
return statusUpdateDao.findAll(request);
}
Und es zeigt alle Nachrichten in den einzelnen Seiten, sortiert in bester Ordnung.
Aber jetzt, ich möchten, wählen Sie die Nachricht von einem Benutzer in der gleichen Navigierbaren format (nicht alle news) und ich finde nicht, wie es zu tun, so muss ich einen BLÖDEN Fehler irgendwo... es sollte so etwas wie...
public Page<StatusUpdate> findMyStatusUpdates(Long user_id, int pageNumber) {
PageRequest request = new PageRequest(pageNumber-1, pageSize, Sort.Direction.DESC, "added");
return statusUpdateDao.findAll(request);
}
Bitte Antwort mit einem link zu der Theorie, wenn Sie können. Die Dokumentation spricht über die Sortierung, nicht die tatsächliche Auswahl (geben Sie den link-Beschreibung hier)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kombinieren Sie eine Abfrage zum filtern von durch den Benutzer, mit einer navigierbaren Anfrage. Kann die Abfrage erstellt werden, die von Spring, basiert auf den Namen der Methode.
Werfen Sie einen Blick auf die Dokumentation:
Spring data JPA-Query-Erstellung
Mit Navigierbaren, in Scheiben schneiden und Sortieren in der Abfrage-Methoden
In Ihrem Fall, ohne zu sehen, deinen code, ich vermute, Sie nur brauchen, um in Ihrem repository eine Methode wie:
Können Sie auch senden PageRequest, um einen vorhandenen filter in deinem repo. Sie können erstellen Sie ein repository-Methode, filter Sie nach Ihren geschäftlichen Anforderungen.
Lassen Sie uns sagen, Sie möchten finden Sie Beiträge, indem Sie einen Benutzer, status Attribute und dann bestellen Sie Sie durch Ihre ERSTELLUNGSDATUM in absteigender Reihenfolge.
Könnte man nicht den Wunsch, alle Beiträge werden in das Page-Objekt beim senden Ihnen auf einen Pager, vor der Zugabe zu dem Modell zu Modell.
Dies ist einfach das äquivalent zu einer sql-Abfrage als solche:
--
und in Ihrer Steuerung verwenden Sie Ihre Implementierung(postService) zusammen mit einem neuen PageRequest Objekt wie:
dies funktioniert gut für 2.x.x; in der Erwägung, dass Sie eine bessere Verwendung der nachstehend für 1.x.x
Diese repo führte mich bis zu einem bestimmten Punkt in dieser Angelegenheit mit paging-Logik etc.
Hatte gerade zu ändern, das ModelView-Modell in der Steuerung argument und kehrte String (template name) statt.