Spring 3.1、Hibernate 4、SessionFactory [英] Spring 3.1, Hibernate 4, SessionFactory
问题描述
这是有效的:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
...
但是升级到上述版本会破坏它.创建 SessionFactory 的正确方法是什么 bean with Spring 3.1.Release 和 Hibernate 4.0.0.FINAL?
but upgrading to the aforementioned versions breaks it. What is the correct method to create a SessionFactory bean with Spring 3.1.Release and Hibernate 4.0.0.FINAL?
部署时的错误是:
嵌套异常是 java.lang.NoClassDefFoundError:lorg/hibernate/cache/CacheProvider;
nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;
编辑
添加了我自己的答案,为我解决了这个问题.
EDIT
Have added my own answer, which fixed it for me.
推荐答案
我认为你应该使用 org.springframework.orm.hibernate4.LocalSessionFactoryBean
而不是org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
I think you should use org.springframework.orm.hibernate4.LocalSessionFactoryBean
instead of
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
来自 LocalSessionFactoryBean
javadoc:
From LocalSessionFactoryBean
javadoc:
注意:LocalSessionFactoryBean 的这个变体需要 Hibernate 4.0 或更高版本.它的作用类似于 orm.hibernate3 包中的同名类.然而,在实践中,它更接近于 AnnotationSessionFactoryBean,因为它的核心目的是从注解扫描中引导一个 SessionFactory.
NOTE: This variant of LocalSessionFactoryBean requires Hibernate 4.0 or higher. It is similar in role to the same-named class in the orm.hibernate3 package. However, in practice, it is closer to AnnotationSessionFactoryBean since its core purpose is to bootstrap a SessionFactory from annotation scanning.
这篇关于Spring 3.1、Hibernate 4、SessionFactory的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!