我遇到问题:
没有Hibernate会话绑定到线程,并且配置不允许 在这里创建非交易的
测试我的项目时。
我使用Spring 2.0.7(这是必须在该项目中)和Hibernate 3.我有
SessionFactory已定义
定义了事务管理器(注入了会话工厂)
<tx:annotation-driven transaction-manager="transactionManager"/>
-
开启交易的注释
我用以下内容注释了我的测试:
@Test
@Transactional
并继承了AbstractAnnotationAwareTransactionalTests
=&GT;我收到此错误:没有Hibernate Session绑定到线程,并且配置不允许在此处创建非事务性的
我能克服的唯一方法就是使用:TransactionStatus transaction = transactionManager.getTransaction(transactionDefinition);
进行测试
sessionFactory.getCurrentSession().save(myObject);
有什么建议吗?或者更好:它是如何工作的?为什么它不能创建事务会话?为什么没有绑定hibernate会话?我已经读过一些关于它的内容,但我仍然不清楚。我认为我已尽一切努力使其发挥作用,但显然这还不够。
提前,
Stepik
答案 0 :(得分:0)
我认为问题在于您从AbstractAnnotationAwareTransactionalTests扩展您的类。尝试删除继承(它应该没有它)。或者尝试从AbstractTransactionalJUnit4SpringContextTests类扩展您的类。
您可以查看here at similar post。
答案 1 :(得分:0)
在我的情况下,错过了base-package
。一个像:
<context:component-scan base-package="com.companyname" />