今天在做spring3.0.x和hibernatet4.2.2集成的测试的时候,报出了java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider的错误,
查看了很多信息,终于发现正解:
这是因为spring在3.1之后的版本中把 AnnotationSessionFactory
Bean与LocalSessionFactoryBean集成到了一起,统一用org\springframework\orm\hibernate4\LocalSessionFactoryBean。
不再有AnnotationSessionFactory
Bean类;
但是org.springframework.orm-3.1.1.RELEASE.jar 依然保留有org\springframework\orm\hibernate3这个包,这是为了向下兼容。(http://wowo12345.iteye.com/blog/1576757)