Spring 整合 Hibernate 时启用二级缓存实例详解

写在前面:
1. 本例使用 Hibernate3 + Spring3;
2. 本例的查询使用了 HibernateTemplate;
1. 导入 ehcache-x.x.x.jar 包;
2. 在 applicationContext.xml 文件中找到 sessionFactory 相应的配置信息并在设置 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 中做相应配置,找到 hibernateTemplate 的配置项,添加如下代码:
<!-- 使用查询缓存 --> <property name="cacheQueries"> <value>true</value> </property>
4. 在要缓存的实体类中加入如*解:
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
注:
usage 可以有以下几个取值:
5. 配置 ehcache.xml 文件:
<ehcache>
<!-- 指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个目录下 -->
<diskStore path="java.io.tmpdir"/>
<!--
name 设置缓存的名字,他的取值为类的完整名字或者类的集合的名字;
maxElementsInMemory 设置基于内存的缓存可存放的对象的最大数目
eternal 如果为true,表示对象永远不会过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds,默认为false;
timeToIdleSeconds 设定允许对象处于空闲状态的最长时间,以秒为单位;
timeToLiveSeconds 设定对象允许存在于缓存中的最长时间,以秒为单位;
overflowToDisk 如果为true,表示当基于内存的缓存中的对象数目达到maxElementsInMemory界限,会把溢出的对象写到基于硬盘的缓存中;
-->
<!-- 设置缓存的默认数据过期策略 -->
<defaultCache
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="1200"
timeToLiveSeconds="1200"
overflowToDisk="false"
/>
<!-- 设定具体的第二级缓存的数据过期策略 -->
<cache name="com.shawearn.model.User"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="3000"
timeToLiveSeconds="3000"
overflowToDisk="false" />
</ehcache>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Spring
# 整合
# Hibernate
# 时启用二级缓存实例详解
# 启用二级缓存
# SSH整合中 hibernate托管给Spring得到SessionFactory
# 详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)
# SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2
# Spring4整合Hibernate5详细步骤
# spring+hibernate 两种整合方式配置文件的方法
# Java框架篇:Spring+SpringMVC+hibernate整合开发
# Spring+Hibernate+Struts(SSH)框架整合实战
# Spring与Hibernate整合事务管理的理解
# Spring MVC+FastJson+hibernate-validator整合的完整实例教程
# struts+spring+hibernate三个框架的整合
# Spring和Hibernate的整合操作示例
# 写到
# 会把
# 本例
# 几个
# 使用了
# 并在
# 要在
# 希望能
# 会对
# 就去
# 谢谢大家
# 永远不会
# 抛出
# 上时
# 值为
# 将把
# 加锁
# 中做
# 类中
# 默认为
相关文章:
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
建站之星代理商如何保障技术支持与售后服务?
宁波免费建站如何选择可靠模板与平台?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何构建满足综合性能需求的优质建站方案?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
C++时间戳转换成日期时间的步骤和示例代码
如何正确下载安装西数主机建站助手?
如何选择高效响应式自助建站源码系统?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站主机选购指南:核心配置优化与品牌推荐方案
如何在万网开始建站?分步指南解析
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
IOS倒计时设置UIButton标题title的抖动问题
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
详解jQuery停止动画——stop()方法的使用
建站主机如何选?性能与价格怎样平衡?
建站主机服务器选型指南与性能优化方案解析
,南京靠谱的征婚网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
建站ABC备案流程中有哪些关键注意事项?
建站主机选哪种环境更利于SEO优化?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何打造高效商业网站?建站目的决定转化率
PHP正则匹配日期和时间(时间戳转换)的实例代码
微信小程序 input输入框控件详解及实例(多种示例)
如何快速上传自定义模板至建站之星?
如何在阿里云虚拟主机上快速搭建个人网站?
如何通过宝塔面板实现本地网站访问?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何选择CMS系统实现快速建站与SEO优化?
如何快速搭建高效WAP手机网站吸引移动用户?
建站之星代理费用多少?最新价格详情介绍
昆明网站制作哪家好,昆明公租房申请网上登录入口?
广州营销型建站服务商推荐:技术优势与SEO优化解析
如何使用Golang安装API文档生成工具_快速生成接口文档
如何自定义建站之星模板颜色并下载新样式?
如何选择高效便捷的WAP商城建站系统?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
宝塔面板创建网站无法访问?如何快速排查修复?
*请认真填写需求信息,我们会在24小时内与您取得联系。