hibernate4以上不再支持ehcache-core中的 EhCacheRegionFactory,或者SingletonEhCacheRegionFactory文件,而是应用了hibernate-ehcache中的相对应的文件。以hibernate4.2.2举例:引入ehcache-core-2.4.3.jar,hibernate-ehcache-4.2.2.Final.jar以及slf4j-api-1.6.1.jar。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="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</property> <property name="cache.use_query_cache">true</property>
问题解决!
hibernate.cache.region.factory_class也可以配置为
name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property> 按需而定。
需要注意的是,slf4j-api-1.6.1.jar必须引入,否则会报org.slf4j.LoggerFactory异常。