博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate+ehcache二级缓存
阅读量:5929 次
发布时间:2019-06-19

本文共 1390 字,大约阅读时间需要 4 分钟。

1、  首先导包ehcache-1.2.3.jar,放在WEB-INF/lib中。

2、  设置ehcache.xml,默认的位置在class-path,可以放在你的src目录下:

<ehcache>

<!--

    <diskStore path="java.io.tmpdir"/> 

    -->

    <diskStore path="e:\\cache"/>

    <defaultCache

            maxElementsInMemory="10000"<!-- 缓存最大数目 -->

            eternal="false"<!-- 缓存是否持久 -->

            timeToIdleSeconds="60"<!-- 当缓存闲置n秒后销毁 -->

            timeToLiveSeconds="60"<!-- 当缓存存活n秒后销毁-->

            overflowToDisk="true"<!-- 是否保存到磁盘,当系统当机时-->

            diskPersistent="false"

            diskExpiryThreadIntervalSeconds="120"          

            />

</ehcache>

3、  在hibernate.cfg.xml中添加如下代码:

<!-- 设置Hibernate的缓存接口类,这个类在Hibernate包中 -->    

<property name="hibernate.cache.provider_class">

           org.hibernate.cache.EhCacheProvider

       </property>

<!-- 是否使用查询缓存 –

说明:如果不设置“查询缓存”,那么hibernate只会缓存使用load()方法获得的单个持久化对象,如果想缓存使用findall()、list()、Iterator()、createCriteria()、createQuery()等方法获得的数据结果集的话,就需要设置hibernate.cache.use_query_cache true 才行.

-->   

<property name="hibernate.cache.use_query_cache">true</property>

4、Hibernate在默认情况下并不会对所有实体对象进行缓存,所以,我们需要指定缓存哪些对象, 在实体对象的映射文件中(相应的<class>标签内部),添加如下配置:   

<cache usage="read-only"/>     

usage="read-only"是“只读”缓存策略。     

注意,这个<cache>标签只能放在<class>标签的内部,而且必须处在<id>标签的前面!这个<cache>标签放在哪些<class>标签下面,就说明会多这些类的对象进行缓存

对于第4步,有一个可选的方案在hibernate.cfg.xml文件中指定哪些类的对象需要缓存,而不需要使用<cache>标签来指定。如在hibernate.cfg.xml中添加如下配置:

<class-cache class="com.andy.pojo.Users" usage="read-only"/>

注意,这个<class-cache>标签必须放在<mapping>标签的后面!!

转载于:https://www.cnblogs.com/zhouwenwu/archive/2012/02/03/2336465.html

你可能感兴趣的文章
计算机基础
查看>>
计算智能 Computational Intelligence,CI
查看>>
Codeforces Round #369 Div. 2 D - Directed Roads
查看>>
斐波那契1,1,2,3,5,8.... 求第n个数的斐波那契
查看>>
Jenkins与SVN持续集成
查看>>
pymongo的安装和使用
查看>>
Spring EL Lists, Maps example
查看>>
宇宙信息交互与信息安全
查看>>
使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
查看>>
简单的js特效,背景圆球滚动,类似电脑屏幕锁屏气球
查看>>
float与double的范围和精度
查看>>
《转》C语言可变参函数的实现
查看>>
android分析之智能指针
查看>>
MFC+Android模拟器 实现 自动玩“天天爱消除”
查看>>
Linux系统调用过程
查看>>
7-2求最大值及其下标
查看>>
ListUtil集合操作常用方法类
查看>>
CSS hack:区分IE6,IE7,firefox
查看>>
简单的记录一次简单的优化
查看>>
添加遮罩弹窗
查看>>