新闻中心
Hibernate二级缓存ehcache.xml配置文件怎么写
ehcache.xml 是 Ehcache 1.x/2.x 的 XML 配置文件,需置于 classpath 根目录;Hibernate 4.x/5.2- 依赖它实现二级缓存,而 Hibernate 5.3+ 推荐 JCache 抽象层。

<p>ehcache.xml 是 Ehcache 1.x(常用于老版本 Hibernate,如 4.x)的缓存配置文件,放在 <strong>classpath 根目录</strong>(如 src/main/resources)下即可被 Hibernate 自动加载。注意:Ehcache 2.x 仍兼容此格式;Ehcache 3.x 已弃用 XML 配置,改用 J*a 或 YAML,且 Hibernate 5.3+ 默认推荐使用 JCache(JSR-107)抽象层。</p>
<H3>基础 ehcache.xml 结构(适配 Hibernate 4.x / 5.2 及以下)</H3>
<p>以下是最简可用、符合 Hibernate 二级缓存要求的配置示例:</p>
<pre class="brush:php;toolbar:false;"><font size="2"><?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd">
<!-- 磁盘缓存路径,需确保应用有写权限 -->
<diskStore path="j*a.io.tmpdir/ehcache"/>
<!-- 默认缓存策略(Hibernate 未显式指定缓存策略时使用)-->
<defaultCache
maxEntriesLocalHeap="1000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="true"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"/>
<!-- 为具体实体类或集合配置缓存(必须)-->
<cache name="com.example.User"
maxEntriesLocalHeap="500"
eternal="false"
timeToIdleSeconds="60"
timeToLiveSeconds="300"
overflowToDisk="true"/>
<!-- 缓存集合(如 User.roles)-->
<cache name="com.example.User.roles"
maxEntriesLocalHeap="100"
eternal="false"
timeToIdleSeconds="30"
timeToLiveSeconds="120"
overflowToDisk="true"/>
</ehcache></font>
关键配置项说明
-
diskStore path:建议用
j*a.io.tmpdir/ehcache或绝对路径(如/var/cache/myapp/ehcache),避免硬编码用户目录 - maxEntriesLocalHeap:堆内最大缓存条目数,避免 OOM;按实体热度合理设置,不要盲目调大
- eternal="false":必须设为 false,否则 timeToIdleSeconds / timeToLiveSeconds 不生效
- timeToIdleSeconds:对象空闲多久后过期(不被访问)
- timeToLiveSeconds:对象创建后多久强制过期(不管是否访问)
- overflowToDisk:堆满后是否溢出到磁盘(开启需确保 diskStore 可写)
-
cache name:必须与实体类全限定名(
package.ClassName)或集合属性路径(package.ClassName.propertyName)完全一致
Hibernate 端需配合的配置
仅配置 ehcache.xml 不够,还需在 Hibernate 配置中启用二级缓存:
微软爱写作
微软出品的免费英文写作/辅助/批改/评分工具
130
查看详情
- hibernate.cfg.xml 或 application.properties 中添加:
<font size="2"><property name="hibernate.cache.use_second_level_cache">true</property> <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property> <!-- 或用 SingletonEhCacheRegionFactory(单例模式,适合单应用)--></font>
- 实体类上标注缓存策略:
<font size="2">@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) // 或 READ_ONLY, NONSTRICT_READ_WRITE
public class User { ... }</font>
常见问题提醒
- 类名拼写错误(大小写、包名)、集合路径写成
User.roles而非com.example.User.roles→ 缓存不生效 - 忘记在实体类加
@Cache注解 → 即使配置了 cache name 也无效 - Ehcache jar 版本与 Hibernate 不匹配(如 Hibernate 4.3.x 应用 ehcache-core 2.6.x,不兼容 3.x)
- 未设置
hibernate.cache.use_second_level_cache=true→ 二级缓存被忽略
基本上就这些。配置不复杂但容易忽略细节,建议配完后通过日志(开启 org.hibernate.cache DEBUG)验证缓存命中情况。
以上就是Hibernate二级缓存ehcache.xml配置文件怎么写的详细内容,更多请关注其它相关文章!
# 解决这个问题
# 广告设计小模板网站推广
# 阿拉尔正规网站建设设计
# 茶业店营销推广方案
# 黒帽seo网
# 建设公司网站入账
# 高质量网站如何优化推广
# 沧州seo营销推广外包公司
# 华网天下seo第一
# 营销家纺小店怎么做推广
# 抖音营销号推广规则
# 设为
# 放在
# 多久
# java
# 如何用
# 抛出
# 实体类
# 不匹配
# 微软
# overflow
# 常见问题
# 配置文件
# ai
# app
# 编码
# js
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
iwriter统一登录平台 iwrite账号密码登录页面
我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口
在Go Martini框架中高效服务动态生成图像的实践指南
QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网
汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口
汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口
Tailwind CSS line-clamp 布局问题解析与修复指南
163邮箱注册官网 免费申请163个人邮箱
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
React/Next.js中实现列表项的动态选择与移动
小米汽车11月交付量突破40000台!雷军:将继续努力
现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践
QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台
Python字典中优雅地迭代剩余元素的方法
Win11怎么关闭快速启动_Win11彻底关机设置教程
AO3官网镜像链接 Archive of Our Own同人文在线浏览
单12V-2×6实现为RTX 5090供电750W!甚至都没敢跑分
Yandex浏览器官方网页版入口 Yandex浏览器最新版官网
Win10如何清理注册表垃圾 Win10注册表维护与优化指南【慎用】
Django表单验证失败时保留用户输入数据的最佳实践
CSS布局中意外空白:解决padding-top导致的顶部间距问题
圆通快递查询实时追踪 圆通物流包裹状态快速查看
PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果
J*aScript实现动态背景色下的文本与按钮颜色自适应调整
百度网盘网页版入口 百度网盘网页版官方登录网址
Golang如何使用net/url解析URL_Golang URL解析与处理方法
Yandex官网搜索引擎免登录_俄罗斯Yandex一键直达入口
Python类型检查:优化关联可选属性的Mypy推断策略
期待已久:小米17 Ultra、小米首款NAS本月登场
怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】
在哪找SublimeJ远程工具_SFTP插件配置教程
AO3网页版合集入口 Archive of Our Own同人作品浏览指南
J*aScript对象创建方式_J*aScript设计模式应用
蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版
在Typer应用中优雅地处理和重组任意命令行参数
Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】
漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址
抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩
铁路12306官网网页端快速入口 铁路12306官方首页登录教程
taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】
PHP 枚举:根据字符串获取枚举案例的策略与实现
“在文档元素之后找到了标记”是什么错误? 检查并修复XML中多个根元素的3个方法
在Qt QML中通过Python字典动态更新TextEdit内容的教程
QQ邮箱登录官网首页 腾讯QQ邮箱网页入口
J*aScript生成器_j*ascript异步迭代
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
outlook中文官网入口地址 outlook官方中文版直达首页链接
AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看
照顾宝贝2小游戏点击立即在线玩
铁路12306的积分有效期是多久_铁路12306积分有效期说明


2025-12-12
浏览次数:次
返回列表