2009-11-26 15 views
9

मैं एक परियोजना पर काम कर रहा हूं जो जावा, माइस्क्ल, स्ट्रूट 2 एमवीसी और हाइबरनेट का उपयोग करता है। मैंने एचक्यूएल क्वेरी में सीमा कथन का उपयोग करने की कोशिश की लेकिन यह ठीक से काम नहीं कर रहा है।क्या हाइबरनेट MySQL में सीमा कथन का समर्थन करता है?

Select t from table1 t where t.column1 = :someVal limit 0,5 

संपादित करें: मैं एक namedQuery के रूप में इस का उपयोग कर रहा है और इस namedQuery जेपीए खाका

यह MySql में सही ढंग से काम करता है का उपयोग कर बुला लेकिन जब मैं एक HQL क्वेरी के रूप में इस भाग गया इस बयान को सीमित करने के संबंध के बिना सभी रिकॉर्ड रिटर्न । क्या किसी को भी एक ही समस्या का सामना करना पड़ा है ?? किसी भी मदद की सराहना की !!

सादर, RDJ

उत्तर

1

उपयोग Query.setMaxResults(..)

+0

मैं NamedQuery उपयोग कर रहा हूँ। क्या फ़ंक्शंस सेट फर्स्ट रीसेट() और setMaxResults() नामित के साथ काम कर सकते हैं ?? – Richie

+2

आप javadoc पढ़ने का प्रयास क्यों नहीं करते हैं, या अपने आईडीई में ऑटो-पूर्ण खोलते हैं और देखते हैं? – Bozho

-1
List<Employee> dataList = null; 
    Query hQuery = null; 

    try { 
     // Getting Session 

     hSession = HibernateSessionFactory.getSession(); 
     hTransaction = hSession.beginTransaction(); 
     hQuery = hSession.getNamedQuery(query); 

        Iterator<Object> hIterator = paramMap.entrySet().iterator(); 

        while (hIterator.hasNext()) { 

    Map.Entry<String, Object> paramPair = (Map.Entry<String,Object>) hIterator.next();  

hQuery.setParameter(paramPair.getKey(), paramPair.getValue()); 

     } 

     hQuery.setFirstResult(1); 
     hQuery.setMaxResults(100); 

     System.out.println(hQuery); 
     dataList = hQuery.list(); 

     hTransaction.commit(); 

    } catch (Exception e) { 
     hTransaction.rollback(); 


    } finally { 
     try { 
      hSession.flush(); 
      HibernateSessionFactory.closeSession(); 
     } catch (Exception hExp) {} 
+1

यह कोड का एक गुच्छा है। इस बारे में कुछ स्पष्टीकरण कि यह ओपी के ठोस मुद्दे को कैसे मदद करता है, अच्छा होगा – kolossus

+1

आप 'क्वेरी' इंटरफेस में 'सेट फर्स्ट रिसेट(), setMaxResult() 'दो तरीकों को पा सकते हैं जो अंकन में रिकॉर्ड प्राप्त करने में मदद करते हैं .. –

0

मुझे लगता है, हम मानदंड का उपयोग करते हैं हम निर्दिष्ट कर सकते हैं

Crietria c = session.createCriteria (Emp.class);
c.setFirstResult (0);
c.setMaxResult (5);
सूची सूची = सी.सूची();

यहाँ सीमा के रूप में 0 और 5 काम करता है 0,5

स्रोत: http://www.javatpoint.com/hcql

संबंधित मुद्दे