posts - 4, comments - 10, trackbacks - 0, articles - 2

          請教一個hibernate對mysql的分頁問題

          Posted on 2007-04-23 15:11 samfree 閱讀(2211) 評論(5)  編輯  收藏

          我在用hibernate對mysql進行分頁的方法
          /**
            * 函數說明:獲得所有的信息
            * 參數說明:
            * 返回值:信息的集合
            */
           public List getProducts(final int pageSize, final int startRow) throws HibernateException { 
               return this.getHibernateTemplate().executeFind(new HibernateCallback(){

                   public Object doInHibernate(Session session) throws HibernateException, SQLException {
                  
                       Query query=session.createQuery("FROM Products as p");
                       query.setMaxResults(pageSize);
                       query.setFirstResult(startRow);    
              
                       List list = query.list();
                 
                       return list;
                   }
                  });

           }

          運行時怎么老給出異常阿?請幫幫我看看好嗎?
          org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query
          org.hibernate.exception.SQLGrammarException: could not execute query
          java.sql.SQLException: Syntax error or access violation,  message from server: "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 '40 products0_.game_id as game1_0_, products0_.game_name_en as game2_0_, products' at line 1"

          Feedback

          # re: 請教一個hibernate對mysql的分頁問題  回復  更多評論   

          2007-04-26 15:57 by ddd
          沒看到你的HQL里面有關于limited的記述,

          你就直接set 2個變量進去?

          你是否該有2個?的記述,然后才set?

          # re: 請教一個hibernate對mysql的分頁問題  回復  更多評論   

          2007-04-26 16:08 by ddd
          我孤陋寡聞了, 抱歉。。

          請其他兄弟回答。。。

          # re: 請教一個hibernate對mysql的分頁問題  回復  更多評論   

          2007-04-30 17:00 by BeanSoft
          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 '40 products0_.game_id as game1_0_, products0_.game_name_en as game2_0_, products' at line 1"

          mysql 不支持這種語法格式的 SQL(Hibernate自動生成的), 檢查一下 Mysql 版本是不是 Hibernate 所支持的版本, 一般來說可能需要 4.1 或者 5.0.

          # re: 請教一個hibernate對mysql的分頁問題  回復  更多評論   

          2010-06-03 19:11 by 最厚的支付寶員工
          hibernate 發出的分頁查詢sql為
          select top ? .....
          這個是mysql不支持的,所以你不能用這樣子的分頁
          可以用
          certeria.list.subList(index,endex);

          # re: 請教一個hibernate對mysql的分頁問題[未登錄]  回復  更多評論   

          2014-11-04 14:11 by aa
          這個是應mysql不支持top關鍵字,所以將查詢語句改成select * from table limit 0,100 這樣

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阿拉尔市| 池州市| 伊金霍洛旗| 常宁市| 巴里| 土默特右旗| 伊宁县| 云梦县| 杂多县| 鄂伦春自治旗| 萨迦县| 霍州市| 吉林市| 万州区| 汽车| 六枝特区| 鄂托克旗| 金湖县| 姜堰市| 蒙城县| 朔州市| 加查县| 蓬溪县| 枝江市| 锡林浩特市| 莆田市| 山阴县| 双桥区| 玉山县| 富平县| 建始县| 翁牛特旗| 洱源县| 德兴市| 凉山| 五大连池市| 宝鸡市| 任丘市| 安阳市| 石阡县| 安塞县|