2009-11-26 25 views
9

Java, MySql, Struts2 MVC ve Hibernate kullanan bir proje üzerinde çalışıyorum. Hql sorgusunda limit deyimini kullanmaya çalıştım ancak düzgün çalışmıyor.Hazırda Bekletme, MySql'deki limit deyimini destekliyor mu?

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

DÜZENLEME: Bir namedQuery olarak kullanıyor ve JPA Template

Bu MySql düzgün çalışır kullanarak bu namedQuery çağıran ama hql sorgusu olarak bu çalıştırdığınızda bu ifadeyi sınırlandırmak bakılmaksızın tüm kayıtları döndürür am . Aynı problemle karşılaştı mı? Herhangi bir yardım takdir!

Selamlar, RDJ

cevap

1

kullanım Query.setMaxResults(..)

+0

. SetFirstResult() ve setMaxResults() işlevleri namedQuery ile çalışabilir mi? – Richie

+2

Neden javadoc'u okumayı denemiyorsunuz ya da IDE'nizdeki otomatik tamamlamayı açıp göremiyor musunuz? – 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

Bu sadece bir grup koddur. Bunun OP'nin somut sorununa nasıl yardımcı olabileceğine dair bazı açıklamalar güzel olurdu – kolossus

+1

iki sette bulabiliyorsunuz setFirstResult(), setMaxResults() 'Query 'aramasındaki rekoru kırmaya yardım eden arayüzde .. –

0

Biz Kriterleri kullanırsanız biz belirtebilirsiniz düşünüyorum

Crietria c = session.createCriteria (Emp.class);
c.setFirstResult (0);
c.setMaxResult (5);
Liste listesi = c.list();

Burada sınır olarak 0 ile 5 eser 0,5

Kaynak: Ben NamedQuery kullanıyorum http://www.javatpoint.com/hcql

İlgili konular