hybris 中的 hjmpts 列是干啥用的?

Posted

技术标签:

【中文标题】hybris 中的 hjmpts 列是干啥用的?【英文标题】:What is the hjmpts column in hybris for?hybris 中的 hjmpts 列是干什么用的? 【发布时间】:2017-10-10 05:38:04 【问题描述】:

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

【问题讨论】:

【参考方案1】:

它旨在支持乐观锁定,就像 Hibernate 这样的持久层使用@Version 注解所做的那样。

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

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

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


P.S:如果不开启乐观锁,只会写入脏属性,最终结果是合并。

【讨论】:

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

以上是关于hybris 中的 hjmpts 列是干啥用的?的主要内容,如果未能解决你的问题,请参考以下文章

ExpressJS Generator 中的 Views 文件夹是干啥用的?

C语言,"conio.h"头文件是啥?是干啥用的?都有啥?

PHP 的 serialize() 函数是干啥用的?

ONVIF,GB28181是干啥用的

C#中的KeyValuePair类是干啥用的?

vb中的DoEvents是干啥用的?