我有问题:
没有 Hibernate Session 绑定到线程,并且配置不允许在此处创建非事务性会话
在测试我的项目时。
我使用 Spring 2.0.7(这是该项目中必须的)和 Hibernate 3。我有
SessionFactory 定义
定义事务管理器(注入会话工厂)
<tx:annotation-driven transaction-manager="transactionManager"/>
- 开启交易的注释
我用以下注释注释了我的测试:
@测试
@Transactional
并继承 AbstractAnnotationAwareTransactionalTests
=> 我得到了这个错误:No Hibernate Session bound to thread,并且配置不允许在这里创建非事务性会话
我可以克服它的唯一方法是使用:TransactionStatus transaction = transactionManager.getTransaction(transactionDefinition);
在我打电话之前进行测试
sessionFactory.getCurrentSession().save(myObject);
有什么建议么?或者更好:它是如何工作的?为什么它不能创建事务会话?为什么没有绑定休眠会话?我读过一些关于它的东西,但我仍然不清楚。我认为我尽了一切努力让它发挥作用,但显然这还不够。
提前谢谢,
斯蒂克