婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Spring 整合 Hibernate 時啟用二級緩存實例詳解

Spring 整合 Hibernate 時啟用二級緩存實例詳解

熱門標(biāo)簽:聊城智能電銷機(jī)器人外呼 企業(yè)怎么在聯(lián)通申請400電話 地圖標(biāo)注市場怎么樣 泰州泰興400電話 怎么申請 好操作的電話機(jī)器人廠家 百度地圖添加標(biāo)注圖標(biāo)樣式 南昌市地圖標(biāo)注app 南京新思維電話機(jī)器人 如何用中國地圖標(biāo)注數(shù)字點

Spring 整合 Hibernate 時啟用二級緩存實例詳解

寫在前面:

  1. 本例使用 Hibernate3 + Spring3;
  2. 本例的查詢使用了 HibernateTemplate;

1. 導(dǎo)入 ehcache-x.x.x.jar 包;

2. 在 applicationContext.xml 文件中找到 sessionFactory 相應(yīng)的配置信息并在設(shè)置 hibernateProperties 中添加如下代碼:

!-- 配置使用查詢緩存 --> 
prop key="hibernate.cache.use_query_cache">true/prop> 
!-- 配置啟用二級緩存 --> 
prop key="hibernate.cache.use_second_level_cache">true/prop> 
!-- 配置二級緩存的提供商 --> 
prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider/prop> 



3. 由于查詢使用了 hibernateTemplate,所以還要在 hibernateTemplate 中做相應(yīng)配置,找到 hibernateTemplate 的配置項,添加如下代碼:

!-- 使用查詢緩存 --> 
property name="cacheQueries"> 
  value>true/value> 
/property> 


4. 在要緩存的實體類中加入如下注解:

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 

注:

  usage 可以有以下幾個取值:

  • CacheConcurrencyStrategy.NONE:不使用緩存,默認(rèn);
  • CacheConcurrencyStrategy.READ_ONLY:只讀模式,若對緩存的數(shù)據(jù)進(jìn)行修改操作會拋出異常;
  • CacheConcurrencyStrategy.NONSTRICT_READ_WRITE:不嚴(yán)格的讀寫模式,不會對緩存的數(shù)據(jù)加鎖;
  • CacheConcurrencyStrategy.READ_WRITE:讀寫模式,在更新緩存的時候會把緩存里面的數(shù)據(jù)換成一個鎖,其它事務(wù)如果去取相應(yīng)的緩存數(shù)據(jù),發(fā)現(xiàn)被鎖了,直接就去數(shù)據(jù)庫查詢;
  • CacheConcurrencyStrategy.TRANSACTIONAL:事務(wù)模式,支持事務(wù),當(dāng)事務(wù)發(fā)生回滾時,緩存中的數(shù)據(jù)也回滾,只支持 JPA 。

5. 配置 ehcache.xml 文件:

ehcache> 
  !-- 指定一個文件目錄,當(dāng)EHCache把數(shù)據(jù)寫到硬盤上時,將把數(shù)據(jù)寫到這個目錄下 --> 
  diskStore path="java.io.tmpdir"/> 
  !--  
    name 設(shè)置緩存的名字,他的取值為類的完整名字或者類的集合的名字; 
    maxElementsInMemory 設(shè)置基于內(nèi)存的緩存可存放的對象的最大數(shù)目 
    eternal 如果為true,表示對象永遠(yuǎn)不會過期,此時會忽略timeToIdleSeconds和timeToLiveSeconds,默認(rèn)為false; 
    timeToIdleSeconds 設(shè)定允許對象處于空閑狀態(tài)的最長時間,以秒為單位; 
    timeToLiveSeconds 設(shè)定對象允許存在于緩存中的最長時間,以秒為單位; 
    overflowToDisk 如果為true,表示當(dāng)基于內(nèi)存的緩存中的對象數(shù)目達(dá)到maxElementsInMemory界限,會把溢出的對象寫到基于硬盤的緩存中; 
   --> 
  !-- 設(shè)置緩存的默認(rèn)數(shù)據(jù)過期策略 --> 
  defaultCache 
    maxElementsInMemory="1000" 
    eternal="false" 
    timeToIdleSeconds="1200" 
    timeToLiveSeconds="1200" 
    overflowToDisk="false" 
  /> 
  !-- 設(shè)定具體的第二級緩存的數(shù)據(jù)過期策略 --> 
  cache name="com.shawearn.model.User" 
    maxElementsInMemory="1000" 
    eternal="false" 
    timeToIdleSeconds="3000" 
    timeToLiveSeconds="3000" 
    overflowToDisk="false" /> 
/ehcache> 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • SSH整合中 hibernate托管給Spring得到SessionFactory
  • 詳解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)
  • SSH框架網(wǎng)上商城項目第1戰(zhàn)之整合Struts2、Hibernate4.3和Spring4.2
  • Spring4整合Hibernate5詳細(xì)步驟
  • spring+hibernate 兩種整合方式配置文件的方法
  • Java框架篇:Spring+SpringMVC+hibernate整合開發(fā)
  • Spring+Hibernate+Struts(SSH)框架整合實戰(zhàn)
  • Spring與Hibernate整合事務(wù)管理的理解
  • Spring MVC+FastJson+hibernate-validator整合的完整實例教程
  • struts+spring+hibernate三個框架的整合
  • Spring和Hibernate的整合操作示例

標(biāo)簽:銅川 白銀 自貢 山南 烏蘭察布 臨汾 開封 吉林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Spring 整合 Hibernate 時啟用二級緩存實例詳解》,本文關(guān)鍵詞  Spring,整合,Hibernate,時,啟用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Spring 整合 Hibernate 時啟用二級緩存實例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Spring 整合 Hibernate 時啟用二級緩存實例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 鹰潭市| 芜湖县| 威远县| 恩施市| 和静县| 沿河| 巫溪县| 莱西市| 黔西| 宁蒗| 竹溪县| 潼关县| 桂林市| 奉节县| 东平县| 临颍县| 岢岚县| 三亚市| 米易县| 西吉县| 襄垣县| 高密市| 澄城县| 广昌县| 阳城县| 兴化市| 汶上县| 讷河市| 巴林左旗| 鸡泽县| 青浦区| 东乡| 星子县| 达尔| 宁明县| 称多县| 化德县| 徐汇区| 云阳县| 长寿区| 麻栗坡县|