2010-09-09 13 views
9

शायद यह एक मूर्ख सवाल है लेकिन मुझे दस्तावेज़ों में जवाब नहीं मिल रहा है: जेपीए 2 का उपयोग करके CriteriaQuery की सीमा कैसे निर्धारित कर सकते हैं?जेपीए 2 हाइबरनेट सीमा (अधिकतम परिणाम) एक CriteriaQuery

धन्यवाद

उत्तर

19

एक मानदंड क्वेरी निष्पादन योग्य क्वेरी नहीं है। EntityManager.createQuery(criteriaQuery) का उपयोग करके आपको पहले टाइपेडQuery बनाना होगा। इसके बाद आप इसके अधिकतम परिणाम सेट कर सकते हैं और इसे निष्पादित कर सकते हैं।

+5

query.setMaxResults :) –

5

आप इस तरह की भरपाई/सीमा निर्धारित कर सकते हैं:

return em.createQuery(query) 
    .setFirstResult(offset) // offset 
    .setMaxResults(limit) // limit 
    .getResultList(); 
0

मैं आमतौर पर उपयोग करें:

em.createQuery(criteria).setFirstResult(offset).setMaxResults(max).getResultList(); 
संबंधित मुद्दे