隨筆-57  評論-202  文章-17  trackbacks-0
                數(shù)據(jù)分頁顯示,是很多B/S系統(tǒng)會遇到的問題。現(xiàn)在大多數(shù)主流數(shù)據(jù)庫都提供了數(shù)據(jù)部分讀取機制,而對于某些沒有提供相應(yīng)機制的數(shù)據(jù)而言,Hibernate也通過其它途徑實現(xiàn)了分頁,如通過Scrollable ResultSet,如果JDBC不支持Scrollable ResultSet,Hibernate也會自動通過ResultSet的next方法進行記錄定位。Hibernate的Criteria、Query等接口提供了一致的方法設(shè)定分頁范圍。下面是書中的例子:

          Criteria criteria = session.createCriteria(TUser.class);
          Criteria.add(Expression.eq(
          "age""20"));
          //從檢索結(jié)果中獲取第100條記錄開始的20條記錄
          criteria.setFirstResult(100);
          criteria.setFetchSize(
          20);

                不過,我在測試的時候總是不能夠正常工作,把setFetchSize方法換成setMaxResults方法才行。換成最新的mysql-connector-java-3.1.10-bin-g.jar驅(qū)動也是一樣。
          posted on 2005-07-26 18:12 小米 閱讀(5560) 評論(4)  編輯  收藏 所屬分類: Hibernate

          評論:
          # re: 《深入淺出Hibernate》讀書筆記(8)——Hibernate分頁 2005-08-24 10:00 | Bug.o0
          order by  回復(fù)  更多評論
            
          # re: 《深入淺出Hibernate》讀書筆記(8)——Hibernate分頁 2005-12-01 19:03 | DreamTiger
          我也碰到這個問題。用setFetchSize沒有作用。但是如果換成setMaxResults后,讀出來的就不對了,是從第一個開始,而不是從指定的開始。  回復(fù)  更多評論
            
          # re: 《深入淺出Hibernate》讀書筆記(8)——Hibernate分頁 2005-12-01 19:10 | DreamTiger
          是我弄錯了,用setMaxResults可以的。  回復(fù)  更多評論
            
          # re: 《深入淺出Hibernate》讀書筆記(8)——Hibernate分頁 2009-05-26 16:20 | qianmz
          criteria是不是
          criteria.setFirstResult(start);
          criteria.setFetchSize(end);
          對任何數(shù)據(jù)庫都可以這樣設(shè)置查詢規(guī)定的條數(shù)(比如mysql中).
          我記得在oracle中是
          criteria.setFirstResult(start);
          criteria.setMaxResult(end);  回復(fù)  更多評論
            
          主站蜘蛛池模板: 庆城县| 渭南市| 广昌县| 手机| 乐亭县| 咸阳市| 民权县| 苍南县| 定安县| 马公市| 温州市| 荔浦县| 库尔勒市| 永州市| 永善县| 湘乡市| 德州市| 榆社县| 延边| 来宾市| 宝山区| 民勤县| 延长县| 乐安县| 集贤县| 深水埗区| 晋宁县| 二连浩特市| 高青县| 北宁市| 寿光市| 玛多县| 长沙县| 古浪县| 克山县| 林州市| 琼海市| 抚州市| 陆川县| 华蓥市| 苍溪县|