最近在学习spring整合hibernate4.0,在基本配置工作都就绪,启动tomcat运行时出现了以下异常:
Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider
然后看了一下4.0的core里面没有这个类,结果发现3.6的core和4.0的core的变化还是挺大的!
最后通过百度了解到CacheProvider从hibernate 3.3的时候就不建议使用了!
将org.hibernate.cache.CacheProvider 已经换成了org.hibernate.cache.spi.RegionFactory
所以在spring整合hibernate4时就会出现
Caused by:
java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider 异常。
解决方案;
只要将spring配置文件中的
<bean id="sesssionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"></bean>
换成
<bean id="sesssionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"></bean>