gpt4 book ai didi

grails - 即使GORM认为实例不脏,也可以使GORM强制执行更新语句

转载 作者:行者123 更新时间:2023-12-02 15:42:00 24 4
gpt4 key购买 nike

我遇到了GORM无法检测到对象已更改的情况,因此既不会失败也不会生成sql UPDATE语句。换一种说法:

 //by the time I get here, it doesn't do anything good or bad
team.save(failOnError:true, flush:true)
//doesn't throw an error, doesn't log an UPDATE statement

有没有一种方法可以强制GORM运行更新语句,而不管它是否认为实例需要更新?

最佳答案

如果在实例未附加到休眠 session 或处于只读模式时设置了值,则会发生这种情况。如果在这样的实例上设置属性,然后决定保存它,则可以执行以下操作:

  <A Domain Csass nam reference here>.withSession{session->
if(!item.isAttached()){
item.attach();
}
else if(session.isReadOnly(item)){
session.setReadOnly(item,false)
}
item.properties=item.properties // force gorm to see changed properties; comes with data binding overhead though
item.save(failOnError:true)//should generate update now
}

关于grails - 即使GORM认为实例不脏,也可以使GORM强制执行更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56481940/

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