2009-11-26 7 views
9

私は、Java、MySql、Struts2 MVC、およびHibernateを使用するプロジェクトに取り組んでいます。私は、制限された文をhqlクエリで使用しようとしましたが、正しく動作しません。HibernateはMySqlの制限文をサポートしていますか?

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

編集:私はnamedQueryとしてこれを使用すると、これは、MySQLで正しく動作しますが、私はHQLクエリとしてこれを実行したときに、この文を制限するために関係なく、すべてのレコードを返しますJPAテンプレート

を使用して、このnamedQueryを呼び出しています。誰もが同じ問題に直面していますか?どんな助けにも感謝!

よろしく、RDJ

答えて

1

使用Query.setMaxResults(..)

+0

私はNamedQueryを使用しています。関数setFirstResult()とsetMaxResults()はnamedQueryで動作できますか? – Richie

+2

javadocを読んでみるか、IDEで自動補完を開いてみてください。 – 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

これはちょっとしたコードです。どのようにこれがOPの具体的な問題に役立つかについてのいくつかの説明は良いでしょう – kolossus

+1

あなたはページングでレコードを取得するために役立つ 'クエリ'インターフェイスで 'setFirstResult()、setMaxResults()'の2つのメソッドを見つけることができます。 –

0

、 我々は基準を使用している場合、我々は

Crietria C = session.createCriteria(Emp.class)を指定することができます。
c.setFirstResult(0);
c.setMaxResult(5);
リストリスト= c.list();限度として

ここ

0と5作品0,5

出典:http://www.javatpoint.com/hcql

関連する問題