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 閱讀(1042) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 佛山市| 宾阳县| 八宿县| 宣恩县| 华蓥市| 商城县| 灵宝市| 永德县| 南投县| 罗田县| 西青区| 焦作市| 奎屯市| 肃南| 金乡县| 江孜县| 闽侯县| 康定县| 咸宁市| 大化| 蕲春县| 疏附县| 高平市| 社旗县| 蕉岭县| 山阴县| 正定县| 饶平县| 宜丰县| 介休市| 招远市| 靖边县| 金堂县| 盐山县| 盐池县| 根河市| 泗水县| 杭锦后旗| 临颍县| 沂水县| 固原市|