eric-1001c

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            3 隨筆 :: 45 文章 :: 12 評論 :: 0 Trackbacks
          Spring+Hibernate 的HibernateTemplate 只提供了單個object的delete,對于某些應用來說,要大量刪除數據,只能通過不斷的load object,delete object。這種做法效率低。
          利用hibernate提供的回調機制,可以實現批量刪除,具體方法是:

           1getHibernateTemplate().execute(new HibernateCallback(){
           2   public Object doInHibernate(Session session) throws HibernateException, SQLException {
           3    List result = new ArrayList();
           4    String hql = "delete Object";
           5    Query query = session.createQuery(hql);
           6    result.add(new Integer(query.executeUpdate()));
           7    return result;
           8   }

           9   
          10  }
          );

          這種做法hibernate只會生成一條sql,效率相對較高。但是利用回調機制,盡管能刪除數據庫的數據,而一級緩存中的數據并沒有刪掉,因此在使用的時候要格外小心
          posted on 2008-08-05 14:41 Eric-1001c 閱讀(1037) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 台州市| 清苑县| 中宁县| 台东市| 浠水县| 深圳市| 山阳县| 酉阳| 琼中| 灌阳县| 海丰县| 洞口县| 临安市| 化隆| 儋州市| 太仓市| 镇远县| 调兵山市| 璧山县| 安国市| 湛江市| 镇巴县| 泗洪县| 岳池县| 施秉县| 策勒县| 时尚| 杂多县| 宁蒗| 峨边| 育儿| 延庆县| 杭锦后旗| 电白县| 和政县| 景洪市| 湘阴县| 广平县| 舟曲县| 洛阳市| 锡林郭勒盟|