hibernate預設是開啟一級快取的,一級快取存放在session上。
首先我們都知道在使用hibernate的時候,要建立sessionfactory和session,那麼快取,也是在這上面進行的。
首先是如下**,測試session上面的快取結果,在執行c2的時候,不會再有sql語句,這代表著實際上session是有快取的(這很正常,因為不能查完就丟,畢竟之後可能會用到),這是1級快取
sessionfactory sf =
newconfiguration()
.configure()
.buildsessionfactory()
;
session s = sf.
opensession()
;s.begintransaction()
;system.out.
println
("log1");
category c1 =
(category)s.
get(category.
class,1
);system.out.
println
("log2");
category c2=
(category)s.
get(category.
class,1
);system.out.
println
("log3"
);
s.gettransaction()
.commit()
;s.close()
;sf.
close()
;
hibernate二級快取是需要自己配置第三方外掛程式的,它本身不提供二級快取,這篇部落格介紹的比較詳細,包括二級快取的型別,如何配置等等問題。
二級快取就是快取到檔案系統之中去了,這樣,乙個sessionfactory中的快取就可以被它所建立的每個session共享到。
hibernate快取機制
hibernate的快取機制 首先引入快取的目的 hibernate 在查詢資料時,首先到快取中去查詢,如果找到就直接使用,找不到的時候就會從物理資料來源中檢索,所以,把頻繁使用的資料載入到快取區後,就可以大大減少應用程式對物理資料來源的訪問,使得程式的執行效能明顯的提公升.什麼是快取 快取是位於應...
Hibernate快取機制
hibernate快取分類 session快取,一級快取.sessionfactory的快取分為內建快取和外接快取.內建快取中存放的是sessionfactory物件的一些集合屬性包含的資料 對映元素據及預定義sql語句等 對於應用程式來說,它是唯讀的.外接快取中存放的是資料庫資料的副本,其作用和一...
Hibernate快取機制
快取是位於應用程式與物理資料來源之間,用於臨時存放複製資料的記憶體區域,目的是為了減少應用程式對物理資料來源訪問的次數,從而提高應用程式的執行效能.hibernate在查詢資料時,首先到快取中去查詢,如果找到就直接使用,找不到的時候就會從物理資料來源中檢索,所以,把頻繁使用的資料載入到快取區後,就可...