非事务性GroovyTestCase集成测试中的GORM事务

时间:2013-09-20 16:54:36

标签: hibernate session grails transactions gorm

我与static transactional = false进行了集成测试,我试图在其中一个测试函数中使用动态/去掉的查找器,但我没有成功。我得到的例外情况如下。我无法通过简单地在函数上添加@Transactional注释来修复它。

 org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

我在这里走出困境,但是必须使用withTransaction闭包吗?我不确定我是否想要这条路线,因为我不希望我的所有相关项目都必须在这个特定的域类中使用热切的提取。

e.g。 SomeDomainClass.withTransaction { // some logic. }

还有另一种方法可以让Hibernate为这个单一测试函数提供会话吗?

1 个答案:

答案 0 :(得分:0)

如果对您有任何改变,您可以尝试SomeDomainClass.withNewSession { ... }