gpt4 book ai didi

session - 获取grails计划魔术保存的所有对象的列表

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

如果我在 Controller 中创建域对象并且不调用.save(),则Grails会在某个时候自动为我执行此操作。我正在创建许多域对象,但没有计划保存所有域对象,并且在我的服务退出时得到“引用未保存的临时实例的引用”异常。

当 Controller /服务退出时,如何获得Grails将尝试保存的所有对象的列表,以防止某些对象被保存?

最佳答案

最好检索您知道将要编辑但不希望使用read方法而不是get持久化的实例。使用read不会将其设为只读,因为如果您调用save()并对其进行了修改,它将被保留,但是在OSIV拦截器刷新 session 时不会自动持久。

另一个选择(尤其是如果实例不是单独加载的)是在编辑它时使用detach()将其从 session 中删除。

您还可以使用DTO并将数据复制到那些非持久性类中,这样就不会浪费持久性类,只是Hibernate不知道的数据类。

关于session - 获取grails计划魔术保存的所有对象的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944004/

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