隨筆-57  評論-202  文章-17  trackbacks-0
                數(shù)據(jù)分頁顯示,是很多B/S系統(tǒng)會遇到的問題。現(xiàn)在大多數(shù)主流數(shù)據(jù)庫都提供了數(shù)據(jù)部分讀取機(jī)制,而對于某些沒有提供相應(yīng)機(jī)制的數(shù)據(jù)而言,Hibernate也通過其它途徑實現(xiàn)了分頁,如通過Scrollable ResultSet,如果JDBC不支持Scrollable ResultSet,Hibernate也會自動通過ResultSet的next方法進(jìn)行記錄定位。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 小米 閱讀(5562) 評論(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ù)  更多評論
            
          主站蜘蛛池模板: 定西市| 贞丰县| 浦江县| 合山市| 长顺县| 贵溪市| 冕宁县| 平舆县| 上思县| 盐山县| 绵阳市| 四川省| 松潘县| 长宁县| 西安市| 珠海市| 罗山县| 和龙市| 任丘市| 南郑县| 海口市| 林西县| 永靖县| 永嘉县| 南木林县| 资源县| 漠河县| 揭阳市| 海安县| 龙山县| 建水县| 乌兰察布市| 长海县| 万安县| 汉中市| 鹿泉市| 霍州市| 淮滨县| 奉节县| 泌阳县| 连云港市|