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

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

Hibernate緩存

一、Hibernate緩存概述

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

站在用戶的角度思考問題,與客戶深入溝通,找到瓊海網站設計與瓊海網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站制作、成都網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣、域名申請、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋瓊海地區(qū)。

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二級緩存)

示例:下載



文章題目:Hibernate緩存
當前鏈接:http://weahome.cn/article/jghddo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部