我正在尝试在wildfly8.2中使用二级缓存 我通过JavaConfig设置属性 属性property = new Properties(); properties.setProperty(“hibernate.hbm2ddl.auto”,hibernateHbm2ddlAuto); properties.setProperty(“hibernate.dialect”,hibernateDialect); properties.setProperty(“hibernate.show_sql”,“true”); properties.setProperty(“hibernate.cache.use_second_level_cache”,“true”); properties.setProperty(“hibernate.cache.use_query_cache”,“true”);
但是我收到以下错误
为什么根据文档提供该错误并不是必需的。任何输入都会有所帮助。
JPA shared cache / second level cache in WildFly
由于 Sanjeev。
答案 0 :(得分:1)
您需要定义属性hibernate.cache.region.factory_class,如:
Configuration.setProperty("hibernate.cache.region.factory_class", "net.sf.ehcache.hibernate.EhCacheRegionFactory")
我会使用C3P0或Infinispam作为二级缓存。
答案 1 :(得分:0)
在我的情况下,我在子项目中有不需要的persistence.xml文件,它使wildfly狂野 - 它覆盖了配置文件。
属性<entry key="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.EhCacheRegionFactory"/>
完全被忽略。删除(重命名)persistence.xml后,wildfly将使用database.xml中的属性正确启动。希望它可以节省你一些时间
(Wildfly 9.0.1Final,Hibernate 4.3.6.Final)