gpt4 book ai didi

grails - Grails withTransaction()和事务服务方法之间的区别

转载 作者:行者123 更新时间:2023-12-02 14:59:45 26 4
gpt4 key购买 nike

我正在使用带有 Multi-Tenancy DB的Grails 3应用程序。可以理解,出于连接池性能的原因,对 Multi-Tenancy DB的任何查询都必须在事务中进行。我没有链接,但是Graeme Rocher在SO的某个地方概述了该链接。

因此,当我执行以下操作时,它可以正常工作:

MyDomainClass.withTransaction { status ->
doStuffHere();
}

但是当我将其移至服务方法时
@Transactional
class MyService {
doStuffHere() {
}
}

如果我不使用上面的withTransaction()闭合,该方法将引发“找不到 session ”错误。

有人知道为什么会有区别吗?我应该在服务上设置其他内容吗?在上面的服务的doStuffHere()方法中使用withTransaction()似乎是多余的。

最佳答案

看看Burt答案的第三段:What is the difference between withTransaction and withSession in grails?

如果需要,“withTransaction”将创建一个 session 。 '@Transactional'不会。

关于grails - Grails withTransaction()和事务服务方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45953959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com