JAVA行軍

          Good Luck

          Hibernate和Spring整合中數(shù)據(jù)查詢hql與Criteria Query

          hql和Criteria Query是Hibernate中的2種查詢封裝,但有時(shí)適當(dāng)?shù)倪x擇會(huì)有很大的執(zhí)行效率
           1public List<Record> getRecordsOrderByCreateTime(Date startDate, Date endDate) {
           2        String hql = "from Record record order by record.createTime desc";
           3        List<Record> listRecord = getHibernateTemplate().find(hql);
           4        for(int i = 0; i < listRecord.size(); i++{
           5            if!(listRecord.get(i).getCreateTime().after(startDate) 
           6                    && listRecord.get(i).getCreateTime().before(endDate)) ) {
           7                listRecord.remove(i);
           8            }

           9        }

          10        if(listRecord.size() == 0){
          11            return null;
          12        }

          13        return listRecord;       
                   }

          上面用的是hql語(yǔ)句,沒能找到什么好的hql語(yǔ)句,所以執(zhí)行效率比較低

          1public List<Record> getRecordsOrderByCreateTime(Date startDate, Date endDate) {
          2        DetachedCriteria criteria = DetachedCriteria.forClass(Record.class);
          3        criteria.add(Expression.ge("createTime", startDate));
          4        criteria.add(Expression.le("createTime", endDate));
          5        criteria.addOrder(Order.desc("createTime"));
          6        List<Record> listRecord = getHibernateTemplate().findByCriteria(criteria);
          7        if(listRecord.size() == 0){
          8            return null;
          9        }
                      return listRecord;
                  }

          這個(gè)用的是 Criteria Query 由于里面直接封裝了好多比較的方法,效率比較搞

          posted on 2007-09-26 17:29 ILOVEYOU 閱讀(3200) 評(píng)論(3)  編輯  收藏

          評(píng)論

          # re: Hibernate和Spring整合中數(shù)據(jù)查詢hql與Criteria Query 2008-09-19 12:00 ssss

          什么叫HQL你都不知。  回復(fù)  更多評(píng)論   

          # re: Hibernate和Spring整合中數(shù)據(jù)查詢hql與Criteria Query 2011-12-20 18:00 R+

          你寫的是什么啊,你會(huì)用HQL嗎?

          Criteria支持的hql也支持,hql支持的Criteria 也支持。
          這兩個(gè)玩意的寫法是對(duì)應(yīng)的。

          HQL也有比較符號(hào)的。  回復(fù)  更多評(píng)論   

          # re: Hibernate和Spring整合中數(shù)據(jù)查詢hql與Criteria Query 2011-12-20 18:02 3045

          Criteria的優(yōu)勢(shì)是拼裝方便,HQL的話需要拼字符串 and 等連接符號(hào)有時(shí)候不好拼。但是Criteria能寫的HQL也能寫,反之亦然。  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2011年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 剑河县| 天水市| 梁平县| 察雅县| 泗水县| 积石山| 兴城市| 攀枝花市| 色达县| 碌曲县| 建德市| 南乐县| 夏邑县| 祁阳县| 阿图什市| 青铜峡市| 四子王旗| 仙居县| 漠河县| 黄大仙区| 久治县| 田林县| 庐江县| 定州市| 仪陇县| 金门县| 罗城| 青田县| 荃湾区| 三门县| 忻城县| 南皮县| 卫辉市| 西畴县| 东丽区| 招远市| 开江县| 尉犁县| 清水河县| 海安县| 永嘉县|