成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

剖析Hibernate批量更新

開發(fā) 后端
這里介紹對于Hibernate批量更新操作,Hibernate是將符合要求的數(shù)據(jù)查出來,然后再做更新操作。批量刪除也是這樣,先把符合條件的數(shù)據(jù)查出來,然后再做刪除操作。

學(xué)習(xí)Hibernate時,經(jīng)常會遇到Hibernate批量更新問題,這里將介紹Hibernate批量更新問題的解決方法

對于Hibernate批量更新操作,Hibernate是將符合要求的數(shù)據(jù)查出來,然后再做更新操作。批量刪除也是這樣,先把符合條件的數(shù)據(jù)查出來,然后再做刪除操作。

這樣有兩個大缺點:
1.占用大量的內(nèi)存。
2.處理海量數(shù)據(jù)的時候,執(zhí)行update/delete語句就是海量了,而且一條update/delete語句只能操作一個對象,這樣頻繁的操作數(shù)據(jù)庫,性能低下應(yīng)該是可想而知的了。

Hibernate3 發(fā)布后,對Hibernate批量更新/刪除操作引入了bulk update/delete,其原理就是通過一條HQL語句完成批量更新/刪除操作,很類似JDBC的批量更新/刪除操作。在性能上,比Hibernate批量更新/刪除有很大的提升。

  1. Transaction tx=session.beginSession();  
  2. String HQL=“delete STUDENT”;  
  3. Query query=session.createQuery(HQL);  
  4. int size=query.executeUpdate();  
  5. tx.commit();  
  6. …… 

控制臺輸出了也就一條刪除語句Hibernate:delete from T_STUDENT,語句執(zhí)行少了,性能上也與使用JDBC相差無幾,是一個提升性能很好的方法。當然為了有更好的性能,筆者建議批量更新與刪除操作還是使用JDBC,方法以及基本的知識點與上面的批量插入方法2基本相同,這里就不在冗述。

筆者這里再提供一個方法,就是從數(shù)據(jù)庫端來考慮提升性能,在Hibernate程序端調(diào)用存儲過程。存儲過程在數(shù)據(jù)庫端運行,速度更快。以批量更新為例,給出參考代碼。

首先在數(shù)據(jù)庫端建立名為batchUpdateStudent存儲過程:

  1. Transaction tx=session.beginSession();  
  2. Connection conn=session.connection();  
  3. String pd=“……{call batchUpdateStudent(?)}”;  
  4. CallableStatement cstmt=conn.PrepareCall(pd);  
  5. cstmt.setInt(1,20);   
  6. //把年齡這個參數(shù)設(shè)為20  
  7. tx.commit(); 

觀察上面的代碼,也是繞過Hibernate API,使用 JDBC API來調(diào)用存儲過程,使用的還是Hibernate的事務(wù)邊界。存儲過程無疑是提高批量處理性能的一個好方法,直接運行與數(shù)據(jù)庫端,某種程度上講把批處理的壓力轉(zhuǎn)接給了數(shù)據(jù)庫。

【編輯推薦】

  1. Hibernate連接配置方法剖析
  2. Hibernate Session實例剖析
  3. 淺析Hibernate Callback接口
  4. Hibernate Session緩存概述
  5. Hibernate修改addMate方法
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-25 11:34:54

Hibernate處理Hibernate批量

2010-02-23 09:33:39

Hibernate批量Hibernate批量

2009-09-27 13:42:05

Hibernate E

2009-06-12 14:44:30

Hibernate A批量更新

2009-09-23 17:18:16

Hibernate S

2009-09-27 17:13:36

Hibernate V

2009-09-27 10:19:11

Hibernate命名

2009-09-22 15:22:08

Hibernate性能

2009-09-25 09:36:55

Hibernate核心

2009-09-28 14:54:33

Hibernate映射

2009-09-23 14:00:07

Hibernate連接

2009-09-24 09:25:10

Hibernate批量

2009-09-29 17:29:43

Hibernate S

2009-09-25 11:14:16

Hibernate批量

2009-09-27 14:33:01

Hibernate批量

2009-09-23 17:48:00

Hibernate事務(wù)

2009-09-22 14:12:16

Hibernate S

2009-09-28 10:52:33

Hibernate主鍵主鍵生成

2009-09-24 10:13:05

Hibernate版本

2009-06-03 10:02:53

Hibernate批量刪除
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久精品久久久久久 | 免费观看一级特黄欧美大片 | 成人九色| 精品欧美乱码久久久久久 | 成人在线视频观看 | 久久久久久久电影 | 97国产精品 | 日韩欧美大片 | 久久精品亚洲国产奇米99 | 狠狠干美女 | 日韩a| 亚洲国产一区二区三区 | 第一福利社区1024 | 一级a性色生活片久久毛片 一级特黄a大片 | 欧美日韩精品在线免费观看 | 久久噜噜噜精品国产亚洲综合 | 成人h动漫亚洲一区二区 | 欧美精品国产精品 | www国产亚洲精品久久网站 | 精品一二三区 | 免费av在线 | 亚洲国产成人精品久久 | 国产精品成人一区二区三区 | 一区二区三区小视频 | 午夜精品久久久久久不卡欧美一级 | 一区二区视频免费观看 | 第一区在线观看免费国语入口 | 911影院 | 干干天天| 亚洲网视频 | 在线看av网址 | 伊人狼人影院 | 黄色大全免费看 | 99r在线 | 成人av在线播放 | 午夜在线小视频 | 毛片免费观看 | 97色在线视频 | 亚洲久视频 | 性色视频| 91精品国产综合久久久久 |