posts - 70,comments - 408,trackbacks - 0

          // 用于hibernate 2.x
          protected String getCountSql(String originalHql, net.sf.hibernate.SessionFactory sessionFactory) throws Exception {
          QueryTranslator translator = new QueryTranslator(originalHql);

          translator.compile((net.sf.hibernate.engine.SessionFactoryImplementor)sessionFactory, Collections.EMPTY_MAP, false);

          return "select count(*) from (" + translator.getSQLString() + ") tmp_count_t";
          }
          // 用于hibernate 3.x
          protected String getCountSql(String originalHql, org.hibernate.SessionFactory sessionFactory) throws Exception {
          QueryTranslatorImpl queryTranslator = new QueryTranslatorImpl(originalHql, originalHql,
          Collections.EMPTY_MAP, (org.hibernate.engine.SessionFactoryImplementor)sessionFactory);

          queryTranslator.compile(Collections.EMPTY_MAP, false);

          return "select count(*) from (" + queryTranslator.getSQLString() + ") tmp_count_t";
          }

          String strHQL = "Select count(*) From tb_po";
          Long count = (Long)session.createQuery(strHQL).uniqueResult();

          posted on 2007-06-05 11:28 我心依舊 閱讀(6579) 評論(1)  編輯  收藏

          FeedBack:
          # re: Hibernate 解決SQL count(*)的問題.
          2008-10-13 11:03 | 月影銷魂
          請問org.hibernate.SessionFactory sessionFactory 可以在這個函數體內申明嗎?如果不可以的話,那調用這個函數的Action是從哪獲取的sessionFactory ?  回復  更多評論
            

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 甘肃省| 永兴县| 登封市| 潼关县| 万山特区| 兰考县| 台北县| 缙云县| 南木林县| 衢州市| 洛阳市| 江口县| 油尖旺区| 齐齐哈尔市| 正阳县| 威远县| 上思县| 楚雄市| 遵义市| 中牟县| 常山县| 高邑县| 福贡县| 项城市| 深圳市| 本溪市| 南木林县| 团风县| 抚远县| 得荣县| 寿阳县| 绵阳市| 锡林浩特市| 峨山| 江源县| 渝北区| 镇坪县| 观塘区| 穆棱市| 东至县| 岳西县|