关于hibernate4配置二级缓存的问题
在网上查了资料,了解hibernate4.0在hibernate.cfg.xml配置二级缓存和hibernate3.3有所不同,本例子用的是 Hibernate-core.4.1.7.Final+ ehcache-core.2.6.0,用query的话就要配置查询缓存喽
4.0配置如下:
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.region.factory_class ">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
3.3配置如下:
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="cache.provider_class ">org.hibernate.cache.EhCacheProvider</property>
完整的二级缓存配置:配置之前先拷贝一个ehcache.xml文件到src文件下
1.
hibernate.cfg.xml 设定: <property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
- @Cache注解(由hibernate扩展提供) @Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
- 用load测试(二级缓存是SessionFactory级别的缓存)
需要在pom.xml中添加
Xml代码
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>4.1.7.Final</version>
</dependency>
否则
会报错:
Unable to load class [org.hibernate.cache.ehcache.EhCacheRegionFactory]