主题:hibernate 4.0 缺少CacheProvider类

来源:互联网 发布:淘宝定向投放 编辑:程序博客网 时间:2024/05/22 14:15
,就想做个ssh集成的项目练习,然后就从官网下载了最新的ssh框架!! 
各项基本工作做好之后,启动服务器发现报:: 
Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider 

这个错误,然后就我就看来一下4.0的core里面没有这个类(我把3.6的core和4.0的core比较了一下有蛮多都不一样了)!
已经换成了org.hibernate.cache.spi.RegionFactory
CacheProvider从hibernate 3.3的时候就不建议使用了,这次只不过是在4.0里面删掉了。
在hibernate4中,需要修改你的AnnotationSessionFactoryBean为:
org.springframework.orm.hibernate4.LocalSessionFactoryBean 

hibernate4整合spring3.1出现java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider

hibernate4整合spring3.1的过程中,发现了java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider异常,查了一下相关资料,原来发现hibernate4已经将hibernate3的一些功能改掉了,在hibernate4已经不使用CacheProvider了,所以做了以下修改,

原先:<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

改成:<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

问题解决,发现可以正常使用了