熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

簡單概括Hibernate批量操作

2013-11-23 20:03:04  來源: Java開源技術 

  Hibernate還是比較常用的於是我研究了一下Hibernate批量操作在這裡拿出來和大家分享一下希望對大家有用

  Hibernate是一個開放源代碼的對象關系映射框架它對JDBC進行了非常輕量級的對象封裝使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫 Hibernate可以應用在任何使用JDBC的場合既可以在Java的客戶端程序使用也可以在Servlet/JSP的Web應用中使用最具革命意義的是Hibernate可以在應用EJB的JEE架構中取代CMP完成數據持久化的重任

  Hibernate批量操作

  即使是使用JDBC在進行大批數據更新時BATCH與不使用BATCH有效率上也有很大的差別我們可以通過設置batch_size來讓其支持批量操作

  舉個例子要批量刪除某表中的對象delete Account打出來的語句會發現Hibernate找出了所有ACCOUNT的ID再進行刪除這主要是為了維護二級緩存這樣效率肯定高不了在後續的版本中增加了bulk delete/update但這也無法解決緩存的維護問題也就是說由於有了二級緩存的維護問題Hibernate批量操作效率並不盡如人意!

  從前面許多要點可以看出很多時候我們是在效率與安全/准確性上找一個平衡點無論如何優化都不是一個純技術的問題你應該對你的應用和業務特征有足夠的了解一般的優化方案應在架構設計期就基本確定否則可能導致沒必要的返工致使項目延期而作為架構師和項目經理還要面對開發人員可能的抱怨必竟我們對用戶需求更改的控制力不大但技術/架構風險是應該在初期意識到並制定好相關的對策

  還有一點要注意應用層的緩存只是錦上添花永遠不要把它當救命稻草應用的根基(數據庫設計算法高效的操作語句恰當API的選擇等)才是最重要的


From:http://tw.wingwit.com/Article/program/Java/ky/201311/27859.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.