hybris中的hjmpts列用于什么?

hybris中的hjmpts列用于什么?,hybris,Hybris,我有一个Hybris系统,在每个数据库表中都有一个名为“hjmpts”的列。该列包含INT值。有人知道这个专栏的原因吗?它的目的是支持乐观锁定,就像Hibernate这样的持久层使用@Version注释一样 基本上,当您从数据库中选择具有的行并返回当前版本时。更新行时,版本列将递增。更新行时,您在查询中使用WHERE子句来匹配所选的版本。如果更新没有修改任何行,那么您就知道有其他东西同时更新了该行(和版本) hjmp.throw.concurrent.modification.exception

我有一个Hybris系统,在每个数据库表中都有一个名为“hjmpts”的列。该列包含INT值。有人知道这个专栏的原因吗?

它的目的是支持乐观锁定,就像Hibernate这样的持久层使用
@Version
注释一样

基本上,当您从数据库中选择具有的行并返回当前版本时。更新行时,版本列将递增。更新行时,您在查询中使用WHERE子句来匹配所选的版本。如果更新没有修改任何行,那么您就知道有其他东西同时更新了该行(和版本)

hjmp.throw.concurrent.modification.exceptions
(默认为false)是一个配置参数,它启用或禁用检查在更新时项目行必须具有与获取hjmp实体对象时读取的版本相同的版本

这意味着在属性中将
hjmp.throw.concurrent.modification.exceptions
参数设置为
true
将激活乐观锁定,当然也会增加看到乐观并发异常的风险,例如HJMPException(PK被并发修改-预期版本…),这将强制事务回滚



附言:如果不启用乐观锁定,则只会写入脏属性,最终结果将是合并。

如果要对特定模型进行乐观锁定,我们应该怎么做?可能吗?