gpt4 book ai didi

grails - 何时/为什么更新 “persistentValue”?

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

我想我缺少有关isDirty的信息。 doSomething()方法返回false。为什么?

class A {
Integer x

boolean doSomething() {
callAMethodThatChangesPropertyX()
callAMethodThatRunsACriteriaOverA()
this.isDirty('x')
}

最佳答案

执行callAMethodThatChangesPropertyX()callAMethodThatRunsACriteriaOverA()期间的休眠刷新 session 。我宁可赌callAMethodThatRunsACriteriaOverA(),特别是如果您在其中调用一些GORM查询。您可以通过简单的调试轻松地检查它:

boolean doSomething() {
print this.isDirty('x')
callAMethodThatChangesPropertyX()
print this.isDirty('x')
callAMethodThatRunsACriteriaOverA()
print this.isDirty('x')
}

此行为与FlushMode和 HibernateTransactionManager直接相关。取决于您的Grails版本 it may be different

关于grails - 何时/为什么更新 “persistentValue”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903298/

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