您的位置:首页 > 其它

hibernate二级缓存配置总结

2013-07-15 12:25 477 查看
出现问题:

org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]

很多的时候,很多的人都会出现这个问题!

有两个原因:

1,没有配cache的jar包(从hibernate官方文档的例题中获取)。

2,在配置文件中配置出错.

hibernate.cfg.xml中配置为
<property name="cache.use_second_level_cache">true</property>

<property name="cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

<property name="cache.use_query_cache">true</property>
application.xml中配置为

<prop key="hibernate.cache.use_second_level_cache">true</prop>

<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>

<prop key="hibernate.cache.use_query_cache">true</prop>

注意!在上面两个配置是不一样的,配置其中一个文件即可。


解释说明:

因为在Hibernate的bean的hbm配置文件中配置了缓存,而在hibernate的配置中没有配置提供的缓存机制的属性,在hibernate的早起版本中默认是提供ehcache的,但是在最近的版本中已经不提供默认配置了。所以必须自己手工配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: