आप JPQL का उपयोग कर रहे हैं जो इस तरह के सीमित परिणामों का समर्थन नहीं करता है। देशी JPQL का उपयोग करते समय आपको setMaxResults
. का उपयोग करना चाहिए परिणामों को सीमित करने के लिए।
हालांकि आप स्प्रिंग डेटा जेपीए का उपयोग कर रहे हैं जो मूल रूप से इसे करना बहुत आसान बनाता है। देखें यहां<ए> किसी क्वेरी के आधार पर परिणामों को सीमित करने के बारे में संदर्भ मार्गदर्शिका में। आपके मामले में निम्नलिखित, खोज विधि वही करेगी जो आप चाहते हैं।
findFirstByOrderById();
आप Pageable
. का भी उपयोग कर सकते हैं LIMIT
. के बजाय अपनी क्वेरी के साथ तर्क करें खंड।
@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);
फिर अपने कॉलिंग कोड में कुछ ऐसा करें (जैसा समझाया गया है यहां संदर्भ मार्गदर्शिका में)।
getLastStudentDetails(PageRequest.of(0,1));
सादे SQL का सहारा लिए बिना दोनों को एक ही परिणाम देना चाहिए।