java - 在 Hybris 中找出模型属性发生变化的地方
问题描述
我在CategoryModel中有一个名为visibility的自定义属性,它既可以从后台手动更改,也可以从检查该类别下是否至少有一个产品的 cronjob 进行更改。如果它是从后台更改的,即使在其下找到任何产品,cronjob 也不应该更改可见性。当从后台更改属性时,名为Last Changes in Backoffice的部分会注册与属性相关的更改,但我找不到它是如何完成的或在哪里完成的。
如何找出模型属性发生变化的地方?从 Backoffice 或 Cronjob 或类似的东西?
解决方案
SavedValues - 跟踪属性值修改
如果您在 Backoffice 中修改属性的值,则属性的原始值(修改前)和新值(修改后)存储在 SavedValues 中。早期的 v6.7 有 HMC API 来处理 SavedValues,但现在您必须编写灵活的查询来从服务层获取条目。
在此处查找更多详细信息
编辑:回答你的问题
如何找出模型属性发生变化的地方?从 Backoffice 或 Cronjob 或类似的东西?
在 SavedValueEntry 中找到属性条目,如果当前属性值与 匹配newValue
,则从后台修改它,否则从 cronjob。
其他参考
savedvalues-in-hybris
how-to-access-savedvalues-and-savedvalue-entries
推荐阅读
- python-3.x - ModuleNotFoundError:ubuntu 服务器上没有名为“xlwt”的模块
- python-3.x - 找到由两个 n 位数字的乘积组成的最大回文 - python
- uwp - 如何在代码中创建 XAML 自定义控件?
- swift - 我们可以将 SceenKit 的场景保存为 Autocad 文件格式(.DXW 或 .DFX)吗
- tfs - TFS 2017/2018 看板共享并添加父链接到卡片
- php -
- wpf - xml菜单底部和顶部对齐
- php - 我的 PHP Socket Server 在 Windows Server 上不断关闭
- javascript - 如何在 React 中使用循环显示数据?
- angular - 在空表上显示消息