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 這樣

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


          網站導航:
           
          主站蜘蛛池模板: 河曲县| 盐城市| 于田县| 横山县| 万源市| 松阳县| 阳春市| 博野县| 巫溪县| 桑日县| 南华县| 迁安市| 阿拉尔市| 来凤县| 延津县| 嵊州市| 兴城市| 离岛区| 莎车县| 温宿县| 南昌县| 门源| 揭东县| 葵青区| 珠海市| 涞水县| 康定县| 化德县| 威远县| 宜兰市| 青州市| 阿图什市| 齐齐哈尔市| 清原| 长丰县| 宁都县| 淅川县| 深圳市| 安义县| 潜山县| 泊头市|