hibernate二级缓存配置总结

来源:互联网 发布:普华永道面试问题知乎 编辑:程序博客网 时间:2024/05/17 22:39

出现问题:

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的,但是在最近的版本中已经不提供默认配置了。所以必须自己手工配置。


原创粉丝点击