处理异常 java.lang.NoClassDefFoundError: Lorg/hiberna

当整合hibernate 4和Spring 3.0时如果applicationContext-common.xml中写到:

<bean id="sessionFactory"

        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
       
        <property name="dataSource" ref="dataSource" />

        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop><!-- 方言 -->
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="default_schema">sharebook</prop>

            </props>
        </property>
    <!-- 如果使用配置文件 -->
    <!-- <property name="mappingLocations"> <list> <value>classpath:com/jialin/entity/User.hbm.xml</value> 
        </list> </property> -->
    <!-- spring管理hibernate的实体类持久化 -->
        <property name="annotatedClasses">
            <list>
                <value>com.sharebook.model.po.User</value>
            </list>
        </property>

    </bean>

xml文件中的第二行

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

用到了hibernate 3中的CacheProvider,但是在hibernate4 中已经对功能进行了改进没有了该类,所以应该改成

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

其中org.springframework.orm.hibernate4在Spring 3.2中。

这样就不会有问题了

你可能感兴趣的:(Hibernate,异常,spring3.2,4,cacheprovider)