मैं बिना किसी समस्या के स्प्रिंग डेटा भंडार का उपयोग कर रहा हूं। जब मैंने पेजिंग (पेजेबल इंटरफेस का उपयोग करके) जोड़ने की कोशिश की तो यह ठीक काम करता था।स्प्रिंग डेटा हाइबरनेट + पेजेबल: रिक्त परिणाम लौटाता है
हालांकि, जब लौटा परिणाम सेट पृष्ठ आकार कम होता है, तो परिणाम खाली होता है।
निम्नलिखित मेरा पृष्ठ है। इंडेक्स और ऑब्जेक्ट्स के लिए डिफ़ॉल्ट मान क्रमशः 0 और 10 हैं।
new PageRequest(pageIndex_, objectsPerPage_, new Sort(orders))
एक क्वेरी के साथ इसका उपयोग करते समय जो 10 से कम परिणाम देता है, परिणामी सूची खाली होती है।
repository.findAll(MySpecification.searchClients(criteria),
myPagingSpecification(criteria.getPageIndex(), criteria.getNumberPerPage(), null))
.getContent();
संपादित करें 1 मैं इस का कारण नहीं मिला, हालांकि मैं अभी भी एक समाधान या एक समाधान के लिए खोज कर रहा हूँ:
यह कैसे मैं सेवा परत में भंडार का उपयोग करें।
Long total = QueryUtils.executeCountQuery(getCountQuery(spec));
List<T> content = total > pageable.getOffset() ? query.getResultList() : Collections.<T> emptyList();
इस कोड, SimpleJpaRepository
वर्ग में स्थित select count...
बना देता है और अगर गिनती कम ऑफसेट है, एक खाली सूची देता है।
धन्यवाद। समस्या यह थी कि मेरी आरईएसटी सेवाओं से क्वेरी पैरामीटर 'पृष्ठ = 1' था और मैं भूल गया था कि पेज 0 आधारित हैं, लेकिन मेरा एपीआई नहीं है। –