2010-01-13 11 views

उत्तर

18

आप इस्तेमाल कर सकते हैं);

select id from table order by id desc limit 1 

मैं model.count के बारे में सोच रहा था (है), लेकिन है कि और अधिक एक अच्छा समाधान की तुलना में एक हैक की तरह लगता है: Sql में, मैं के लिए क्या देख रहा हूँ की तरह होगा एक जेपीक्यूएल क्वेरी जो आपकी क्वेरी के समान दिखती है।

select t from JpaClass t order by t.id desc 

आप अपनी क्वेरी वस्तु की स्थापना के बाद, आप query.getSingleResult (कह सकते हैं) या query.setMaxResults फोन (1) query.getResultList()

संपादित करें द्वारा पीछा किया: मेरी गलती: कृपया ध्यान दें mtpettyp की टिप्पणी नीचे।

query.getSingleResult() के रूप में एक अपवाद फेंका जा सकता है का उपयोग न करें यदि वहाँ नहीं है वास्तव में एक पंक्ति लौटे - java.sun.com/javaee/5/... (देखें) - mtpettyp

setMaxResults और getResultList के साथ जाएं।

query.setMaxResults(1).getResultList(); 
+6

अगर वहाँ नहीं है वास्तव में एक पंक्ति लौटे query.getSingleResult() का उपयोग न करें के रूप में एक अपवाद फेंका जा सकता है - देखना http://java.sun.com/javaee/5/ डॉक्स/API/javax/हठ/Query.html # getSingleResult() – mtpettyp

13

क्वेरी तरीकों के परिणामों कीवर्ड पहले या शीर्ष है, जो दूसरे के स्थान पर इस्तेमाल किया जा सकता के माध्यम से सीमित किया जा सकता। लौटाए जाने वाले अधिकतम परिणाम आकार को निर्दिष्ट करने के लिए एक वैकल्पिक संख्यात्मक मान को शीर्ष/पहले में जोड़ा जा सकता है। यदि संख्या छोड़ दी गई है, तो परिणाम का आकार 1 माना जाता है।

JpaClass findFirstByOrderByIdDesc(); 

referenced by Spring Data JPA docs