gpt4 book ai didi

Hibernate:停用特定保存的列版本更新

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

我知道可以通过将版本设置为 false 来完全停用版本:

class Book {

static mapping = {
version false
}
}

但是是否可以仅针对特定情况停用它?

域名
class Book {
String author
}

当前行为
def BookInstance = Book.get(1)
println "version $BookInstance.version" //version 1
BookInstance.author = 'John'
BookInstance.save(flush:true)
println "version $BookInstance.version" //version 2

具体案例
def BookInstance = Book.get(1)
println "version $BookInstance.version" //version 1
//Do something to deactivate the update version
BookInstance.author = 'John'
BookInstance.save(flush:true)
println "version $BookInstance.version" //version 1

最佳答案

我从未见过禁用临时乐观锁定的选项。

如果这是一个选项,您可以执行 native 更新:

首先将 SessionFactory 注入(inject)到 Service 或 Controller

def sessionFactory

然后在你的方法里面做这样的事情:
def sql = new Sql(sessionFactory.currentSession)
sql.execute("update BOOK set AUTHOR = 'john' where id = 1")

(我现在无法检查语法,但它可能会工作)

关于Hibernate:停用特定保存的列版本更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478798/

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