gpt4 book ai didi

hibernate - 服务方法回滚后从数据库读取对象

转载 作者:行者123 更新时间:2023-12-02 14:05:09 24 4
gpt4 key购买 nike

我有一个grails服务,该服务正在进行一些更改。如果我在服务类中回滚事务,抛出RuntimeException,并且稍后(在同一请求中)我尝试重新读取任何数据,则会收到以下异常:

ERROR hibernate.LazyInitializationException  - failed to lazily initialize a collection of role: <my related class> no session or session was closed

因此,情况如下:

我尝试更新服务类中的对象,如果失败,我将回滚事务。
在 Controller 中,处理异常,然后返回失败对象的XML。要创建XML Grails,尝试读取所有相关对象-延迟加载1-n关系-(这就是我想要的),但是由于我们已经在服务类中进行了回滚,因此我没有 session ,并且失败。
我尝试使用.withNewSession {},但它不起作用。

有什么想法或解决方法吗?

最佳答案

看来您有Detached Object,所以请尝试使用merge()方法。

关于hibernate - 服务方法回滚后从数据库读取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291676/

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