溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hibernate 3中怎么實(shí)現(xiàn)二級緩存

發(fā)布時間:2021-07-20 11:22:03 來源:億速云 閱讀:104 作者:Leah 欄目:編程語言

Hibernate 3中怎么實(shí)現(xiàn)二級緩存,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.Hibernate 3二級緩存和session級別的緩存一樣都只對實(shí)體對象做緩存,不對屬性級別的查詢做緩存;二級緩存的生命周期和sessionFactory的生命周期是一樣的,sessionFactory可以管理二級緩存;

2.sessionFactory級別的緩存,需要手動配置;所有的session可以共享sessionFactory 級別的緩存;(一般把一些不經(jīng)常變化的實(shí)體對象放到sessionFactory級別的緩存中,適合放不經(jīng)常變化的實(shí)體對象。)

3.Hiberante 3二級緩存的配置和使用方法如下:

必須把ehcache.jar包導(dǎo)入,然后到Hibernate3.2的etc文件下把ehcache.xml復(fù)制到工程src目錄下(ehcache.xml里邊的參數(shù)里邊有詳細(xì)英文說明);

說明:ehcache.jar是第三方法的緩存產(chǎn)品,hiberante只是把它做了集成,還有好多第三方Hibernate集成的緩存產(chǎn)品,相關(guān)說明請查閱hiberante3開發(fā)手冊;ehcache是不支持分布應(yīng)用的,如果有分布式需求,請換成支持分布式的二級緩存產(chǎn)品,hiberate3開發(fā)手冊都有相頭說明。配置方法都類似);

4.Hibernate 3二級緩存默認(rèn)是開起的,也可以指定開起。在Hibernate.cfg.xml 文件下配置如下:

<property name=”hibernate.cache.use_second_level_cache”>true</property> //指定二級緩存產(chǎn)品的提供商;  <property name=”hibernate.cache.provider_class”> org.hibernate.cache.EhCacheProvider  </property>


要讓那些實(shí)體使用二級緩存,在Hibernate.cfg.xml配置文件中加入:

<!—  讓這個實(shí)體用二級緩存 也可以在實(shí)體中映射文件去配置即:  <cache usage="read-only"/> --> <class-cache class=”com.zzz.hibernate.ClassT” usage=”read-only”/>

Read-only一般使用這個策略,其它的Hibernate3開發(fā)手冊中也有詳細(xì)介紹;

CacheMode去Hibernate 3開發(fā)手冊中搜索這個關(guān)鍵字,可以找到一級緩存和二級緩存交互使用的問題。

看完上述內(nèi)容,你們掌握Hibernate 3中怎么實(shí)現(xiàn)二級緩存的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI