You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Hibernate 5.3.1遇JCache缓存对象动态创建不支持问题求助

解决Hibernate 5.3.1 + Ehcache 2.x 报错“On-the-fly creation of JCache Cache objects is not supported”

问题原因

Hibernate 5.3.x 版本中,hibernate-ehcache 组件默认基于 JCache(JSR-107)规范 实现,但你使用的 Ehcache 2.10.3 是旧版实现,不支持 JCache 的动态缓存对象创建逻辑,因此触发该错误。

解决方案

有两种可行方案,按需选择:

方案1:升级Ehcache到支持JCache的版本(推荐)

  • 移除旧版的 ehcache-2.10.3 依赖
  • 添加 Ehcache 3.x 版本(比如 ehcache-3.8.1,确保与Hibernate 5.3.1兼容)
  • 补充 JCache API 依赖:javax.cache-api-1.1.1(Hibernate 5.3需要该API包对接JCache实现)

方案2:强制Hibernate使用旧版Ehcache区域工厂

若不想升级Ehcache,可在Hibernate配置中明确指定旧的Ehcache实现类,绕过JCache逻辑:
在hibernate.cfg.xml中添加:

<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>

或在persistence.xml中配置:

<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.EhCacheRegionFactory"/>

额外注意:Java 11环境下,建议将slf4j-api升级到1.7.30+版本,避免潜在兼容性问题。

内容的提问来源于stack exchange,提问作者MAdhuri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:40:26