2016-11-21 3 views
0

Ich versuche, Paginierungsfunktion in Spring Data JPA zu implementieren. Ich referring this Blog My-Controller enthält folgenden Code:Erstellen von Paginierung im Frühjahr Daten JPA

@RequestMapping(value="/organizationData", method = RequestMethod.GET) 
    public String list(Pageable pageable, Model model){ 
    Page<Organization> members = this.OrganizationRepository.findAll(pageable); 
    model.addAttribute("members", members.getContent()); 
    float nrOfPages = members.getTotalPages(); 
    model.addAttribute("maxPages", nrOfPages); 
    return "members/list"; 
    } 

Mein DAO folgt:

@Query(value="select m from Member m", countQuery="select count(m) from Member m") 
    Page<Organization> findMembers(Pageable pageable); 

ich in der Lage bin ersten 20 Aufzeichnungen zu zeigen, wie zeige ich nächsten 20 ??? Gibt es ein anderes Paginierungsbeispiel, das ich beziehen kann?

+0

Der Blog, auf den Sie verweisen, enthält auch einen Abschnitt, in dem Sie die Seitennummer angeben können. Ich würde mir vorstellen, dass das das wäre, was du verwenden möchtest. – Makoto

+0

Ja, das habe ich gesehen, aber es ist Spring MVC, ich möchte dasselbe in Spring Data JPA implementieren. Wie ändere ich es zu Spring-Daten JPA?/ – Tejas

+0

... Wenn Sie das gesamte Tutorial, das auf Spring MVC mit Spring Data ausgerichtet war, verfolgt haben, warum sollten Sie es nicht zumindest versuchen? Oder hast du es schon versucht? Wenn Sie das getan haben, dann könnten Sie den Code zeigen, den Sie versucht haben, was Sie erwartet haben und was ist passiert? – Makoto

Antwort

2

Ich habe ähnliches Problem letzte Woche gesehen, aber kann es nicht finden, also werde ich direkt antworten.

Ihr Problem besteht darin, dass Sie die Parameter zu spät angeben. Pageable funktioniert folgendermaßen: Sie erstellen Pageable Objekt mit bestimmten Eigenschaften. Sie können zumindest angeben:

  1. Seitengröße,
  2. Seitenzahl,
  3. Sortierung.

Nehmen wir also an, dass wir haben:

PageRequest p = new PageRequest(2, 20); 

die oben auf die Abfrage übergeben werden die Ergebnisse so nur die Ergebnisse aus 21. bis 40. filtern zurückgegeben.

Sie wenden Pageable nicht auf Ergebnis an. Sie übergeben es mit der Abfrage.

Verwandte Themen