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

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

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


          網站導航:
           
          主站蜘蛛池模板: 中西区| 绿春县| 棋牌| 田东县| 东兰县| 西丰县| 岗巴县| 肇庆市| 新和县| 石首市| 华宁县| 吴忠市| 赞皇县| 肇庆市| 平武县| 湾仔区| 本溪| 郧西县| 章丘市| 南召县| 陆良县| 珠海市| 开封县| 兰溪市| 石狮市| 江源县| 临潭县| 尖扎县| 洛南县| 宜丰县| 宁安市| 望都县| 百色市| 河南省| 遵化市| 大足县| 吴忠市| 开原市| 临邑县| 台东县| 青州市|