1

MySQL Strored Procedureがあり、Hibernateを使用してストアドプロシージャを呼び出し、ページ付けを使用して結果を表示したいと思います。

私は以下のコードを試しました:

public List<Master> getAbsentDetails(String fromdate, String todate,int pno) {
        Query query=getSession().getNamedQuery("AbsentReportproc");
        System.out.println("Test");
        query.setParameter("_fromdate", fromdate);
        query.setParameter("_todate", todate);
        query.setMaxResults(10);
        query.setFirstResult(ps*(pno-1));

        List<Master> empList=query.list();
        return empList;}

しかし、上記のコードを実行すると、次のエラーが表示されます。

org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 1064, SQLState: 42000
Feb 1, 2013 10:08:11 AM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 10' at line 1

注: 以下のステートメントを削除した場合

  query.setMaxResults(10);

次に、jspページにストアドプロシージャの結果が表示されます

ありがとう

4

1 に答える 1

2

同じ問題に直面したとき、セットのmaxresultを下に移動し、正常に動作しました

criteria.setFirstResult(10* (pageNumber - 1));
criteria.setMaxResults(10); 
于 2013-02-01T06:08:06.057 に答える