一尘不染

Spring 3.1,Hibernate 4,SessionFactory

spring

这正在工作:

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

但是升级到上述版本会破坏它。使用Spring 3.1.Release和Hibernate 4.0.0.FINAL创建SessionFactory bean 的正确方法是什么?

部署时的错误是:

嵌套的异常是java.lang.NoClassDefFoundError:Lorg / hibernate / cache / CacheProvider;

编辑
添加了我自己的答案,为我修复了它。


阅读 345

收藏
2020-04-17

共1个答案

一尘不染

我认为你应该使用org.springframework.orm.hibernate4.LocalSessionFactoryBean而不是 org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean

LocalSessionFactoryBeanjavadoc:

注意:LocalSessionFactoryBean的此变体需要Hibernate 4.0或更高版本。它的作用类似于orm.hibernate3包中的同名类。但是,实际上,它更接近AnnotationSessionFactoryBean,因为其核心目的是从注释扫描中引导SessionFactory。

2020-04-17