gpt4 book ai didi

hibernate - Grails withNewSession不刷新

转载 作者:行者123 更新时间:2023-12-02 13:57:39 24 4
gpt4 key购买 nike

在grails域中,a已实现beforeDelete,如下所示

class Shop {
def beforeDelete() {
Shop.withNewSession {
Client.findAllByShop(this)*.shop = null
}
}
}

但是客户端商店的空值不会持久保存到数据库中。

如果我添加手动 session 刷新
class Shop {
def beforeDelete() {
Shop.withNewSession { s2->
Client.findAllByShop(this)*.shop = null
s2.flush()
s2.clear()
}
}
}

它有效,客户端商店的值在db中为空。

这是Grails的错误,还是我误解了文档? withNewSession是否暗示自动刷新?

最佳答案

该文档(向下滚动到beforeDelete示例here)似乎意味着不需要刷新或清除 session 。

Burt Beckwith还在Grails邮件列表(请参阅线程here)上指出,在flush()闭包中不需要手动调用clear()withNewSession

话虽如此,看来确实有一个从Grails 2.2.1开始使用withNewSession的错误报告(请参阅详细信息here)。

关于hibernate - Grails withNewSession不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12750637/

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