【发布时间】:2018-02-07 18:53:19
【问题描述】:
我正在开发一个带有多租户数据库的 Grails 3 应用程序。可以理解,出于连接池性能的原因,对多租户数据库的任何查询都需要在事务中。我没有链接,但 Graeme Rocher 在 SO 的某处概述了它。
所以当我执行以下操作时它工作正常:
MyDomainClass.withTransaction { status ->
doStuffHere();
}
但是当我将其移至服务方法时
@Transactional
class MyService {
doStuffHere() {
}
}
如果我没有使用上面的 withTransaction() 闭包,该方法会引发“未找到会话”错误。
有人知道为什么会有差异吗?还有什么我应该在服务上设置的吗?在上面的服务的 doStuffHere() 方法中使用 withTransaction() 似乎是多余的。
【问题讨论】:
标签: grails grails-orm multi-tenant spring-transactions grails3