1)快取機制
a)基本快取——session快取(一級快取)
session中儲存了乙個map(id-->po)
po(持久化物件)
b)二級快取(全域性快取)——sessionfactory
1、過度使用的問題:記憶體會被過度占用,
會導致系統效能急劇下降。
2、使用條件:
i)快取的資料比較穩定(變動不頻繁)(如 部門)
ii)快取的資料使用比較頻繁(快取的命中率)
c)啟用二級快取
在「hibernate.cfg.xml」的中加入屬性——
org.hibernate.cache.oscacheprovider
d)使用二級快取
快取方式:read-only;read-write
兩個級別——類級別和集合級別
使用語法:在或(集合)裡面加入——
1)read-only (唯讀)
一般包括系統引數
2)read-write (可寫)
...2)延緩載入
a、在絕大多數情況下是很有用的
如 order(items)
b、取消延緩載入的方法
i)ii)關聯對映中,關聯的地方用「fetch="join"」
3)批量抓取
"batch-size=10"
用在或(集合)
a、class
用emp來抓取dept
b、set
用order來抓取items
...
Hibernate效能優化
hibernate效能優化提高 1.快取 hibernate缺省會用到快取,用得好就能大大提高效能,用得不好就會影響到效率 快取其實就是資料庫資料在記憶體中的乙個臨時容器,將查詢過得資料暫時放在這個容器中,下次如果還是查詢一樣的,就直接在該容器中取得,就不用再去資料庫裡查詢了,這樣間接性的提高了效率...
Hibernate常見優化策略
制定合理的快取策略 二級快取 查詢快取 採用合理的session管理機制。盡量使用延遲載入特性。設定合理的批處理引數。如果可以,選用uuid作為主鍵生成器。如果可以,選用基於版本號的樂觀鎖替代悲觀鎖。在開發過程中,開啟hibernate.show sql選項檢視生成的sql,從而了解底層的狀況 開發...
hibernate 的效能優化
一級快取 session級別的快取 listusers list session.createquery sql iteratorusers iterator session.createquery sql list 直接資料庫載入user iterator 讀出來的是id 先在session中找 ...