真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

Hibernate緩存-創(chuàng)新互聯

一、Hibernate緩存概述

Hibernate中提供兩個級別的緩存,一級緩存和二級緩存。

創(chuàng)新互聯主營鐘山網站建設的網絡公司,主營網站建設方案,App定制開發(fā),鐘山h5微信平臺小程序開發(fā)搭建,鐘山網站營銷推廣歡迎鐘山等地區(qū)企業(yè)咨詢

1.一級緩存是Session級別的緩存,它屬于事物范圍的緩存,一級緩存有hibernate進行管理。

2.二級緩存是sessionFactory級別的緩存,它屬于進程范圍的緩存,二級緩存又可分為"內置緩存"和"外置緩存",內置緩存:是hibernate在創(chuàng)建sessionFactory時會加載.hbn.xml文件并會在內存中初始化一些默認的sql語句,該內置緩存是只讀的;外置緩存(二級緩存),默認sessionFactory不會啟動這個緩存插件,外置緩存中的數據是數據庫中數據的復制,存儲的物理介質可以是內存或者硬盤。

二、Hibernate一級緩存

session的緩存有兩大作用:

1.減少訪問數據庫的頻率。

2.保證數據庫中的相關記錄與緩存中的相關對象保持一致。

Session根據臟對象的最新屬性執(zhí)行相關SQL語句,從而保證了數據庫中的相關記錄與緩存中的響應對象的同步,默認在如下時間點,session會清理緩存:

1.應用程序調用Transaction的commit()方法時,commit()會先清理緩存,再向數據庫提交事務。

2.應用程序執(zhí)行一些查詢操作,緩存中的持久化對象的屬性發(fā)生變化時。

3.顯式調用Session的flush()方法。

Session提供了兩個管理緩存的方法:

1.evict(Object obj);從緩存中清除特定持久化對象。

2.clear();清空緩存中,所有持久化對象。

三、Hibernate二級緩存

1. 使用 Hibernate 二級緩存的步驟:

1). 加入二級緩存插件的 jar 包及配置文件:

I. 復制 \hibernate-release-4.2.4.Final\lib\optional\ehcache\*.jar 到當前 Hibrenate 應用的類路徑下.
II. 復制 hibernate-release-4.2.4.Final\project\etc\ehcachexml 到當前 WEB 應用的類路徑下

2). 配置 hibernate.cfg.xml下載

I. 配置啟用 hibernate 的二級緩存
true

II. 配置hibernate二級緩存使用的產品
org.hibernate.cache.ehcache.EhCacheRegionFactory

III. 配置對哪些類使用 hibernate 的二級緩存


實際上也可以在 .hbm.xml 文件中配置對哪些類使用二級緩存, 及二級緩存的策略是什么.下載

2). 集合級別的二級緩存的配置

I. 配置對集合使用二級緩存

也可以在 .hbm.xml 文件中進行配置







II. 注意: 還需要配置集合中的元素對應的持久化類也使用二級緩存! 否則將會多出 n 條 SQL 語句.

3). ehcache 的 配置文件: ehcache.xml

4). 查詢緩存: 默認情況下, 設置的緩存對 HQL 及 QBC 查詢時無效的, 但可以通過以下方式使其是有效的

I. 在 hibernate 配置文件中聲明開啟查詢緩存

true

II. 調用 Query 或 Criteria 的 setCacheable(true) 方法
@Test
public void testQueryCache(){
Query query = session.createQuery("FROM Employee");
query.setCacheable(true);

List emps = query.list();
System.out.println(emps.size());

emps = query.list();
System.out.println(emps.size());

Criteria criteria = session.createCriteria(Employee.class);
criteria.setCacheable(true);
}
III. 查詢緩存依賴于二級緩存(使用查詢緩存的前提是配置hibernate二級緩存)

示例:下載


另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


文章題目:Hibernate緩存-創(chuàng)新互聯
分享鏈接:http://weahome.cn/article/phoii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部