HibernateTransactionManager

HibernateTransactionManager

使用Java注释时,我只需要声明bean:

public HibernateTransactionManager transactionManagement
(SessionFactory sessionFactory) {
    HibernateTransactionManager tx = new HibernateTransactionManager
            (sessionFactory);
    return tx;
}


然后给上面的方法@Transactional。
但是使用XML配置,我做到了:

<bean id="transactionManager"
    class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="countryDAOImp" class="src.com.model.CountryDAOImp">
</bean>
<tx:annotation-driven proxy-target-class="true" />


并发生此错误:NoClassDefFoundError: org/hibernate/engine/transaction/spi/TransactionContext

我错过了什么? :D
谢谢!

最佳答案

我认为问题与您的春季休眠兼容性有关。

检查spring依赖版本和hibernate版本的兼容性。您正在使用org.springframework.orm.hibernate4.HibernateTransactionManager。您必须使用hibernate 4.x版本的依赖。

尝试将此组合4.1.0.Final与弹簧3.1.1.RELEASE一起使用。

关于java - Java Spring中的事务性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33166977/

10-09 19:22