使用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/