gpt4 book ai didi

c# - nhibernate 如何在后台处理 ver 列的更新冲突?

转载 作者:行者123 更新时间:2023-11-30 22:35:34 25 4
gpt4 key购买 nike

我只是在寻找一些关于 hibernate 如何使用 ver 列处理冲突的文档。

到目前为止的理解:对一行的更改意味着更改的行插入了新的版本号

-- 这是通过“select max(ver)+1”完成的吗? --

随后旧版本被删除。

顺便说一句:我们怎么知道 {"select max(ver)+1"; insert} 将保证是一个原子操作?他们是先锁定行吗?

提前感谢您提供任何信息。我只是想获得一个完整的理解。

最佳答案

我会在这里展开更多。 hibernate 执行的更新类似于

UPDATE table SET string = 'string', number = 1, version = version+1 
WHERE id = %Id% AND version = %Version%

这意味着只有当版本仍然与从数据库加载对象/行时相同并在同一查询中更新版本号时,更新才会成功。

关于c# - nhibernate 如何在后台处理 ver 列的更新冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7404177/

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