当前位置:  开发笔记 > 编程语言 > 正文

使用Spring进行Hibernate二级缓存

如何解决《使用Spring进行Hibernate二级缓存》经验,为你挑选了2个好方法。

我正在使用Spring + JPA + Hibernate.我正在尝试启用Hibernate的二级缓存.在我的春天,applicationContext.xml我有:

net.sf.ehcache.hibernate.SingletonEhCacheProvider
/ehcache.xml

当我运行时,我收到错误:

Caused by: org.hibernate.HibernateException: Could not instantiate cache implementation
     at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:64)

Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]
     at org.hibernate.cache.NoCacheProvider.buildCache(NoCacheProvider.java:21) 

所以它抱怨我没有启用二级缓存.我试图通过添加到我的启用它applicationContext.xml:

true

但仍然没有快乐.我也尝试将其添加到我的ehcache.xml中:

true

但它仍然无效.更改provider_classorg.hibernate.cache.EhCacheProvider也无济于事:

org.hibernate.cache.EhCacheProvider

我的实体类被注释为使用缓存

@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)

那么,我如何启用二级缓存?

编辑: 这是在bean下:


已解决:因为我正在使用LocalEntityManagerFactoryBean它从中获取其设置META-INF/persistence.xml.我的设置applicationContext.xml甚至没有被阅读.



1> Mainguy..:

我没有回答这个问题,但海报自己找到答案并不明显.我转发他的回答:

解决

因为我正在使用LocalEntityManagerFactoryBean它从中获取其设置META-INF/persistence.xml.我的设置applicationContext.xml甚至没有被阅读.



2> Bitmap..:

试试这个:

true
4
true
true
net.sf.ehcache.hibernate.EhCacheRegionFactory

如果您使用Maven,请将其添加到您的POM文件中:


  net.sf.ehcache
  ehcache-core
  2.3.0

或者从http://ehcache.org/下载最新的jar

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有