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 我心依舊 閱讀(6593) 評論(1)  編輯  收藏

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

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


          網站導航:
           
          主站蜘蛛池模板: 正安县| 洛扎县| 浮梁县| 康乐县| 东源县| 金秀| 玛纳斯县| 元谋县| 成武县| 鹿泉市| 潜山县| 乐山市| 竹北市| 富锦市| 邹平县| 平顶山市| 元朗区| 白水县| 商都县| 临江市| 宁化县| 朝阳市| 金昌市| 镇原县| 南江县| 建瓯市| 黔南| 晋宁县| 孝义市| 贵南县| 兴国县| 会泽县| 定兴县| 桂阳县| 房产| 荣昌县| 绿春县| 延吉市| 诸城市| 高州市| 绵阳市|