我知道 Hybrissavedvaluesmodel
和savedvalueentrymodel
来捕获数据模型的最后更改及其属性值,无论最近发生什么变化,它还维护历史记录。
这仅在我们登录后台后修改数据时才有效,并且在通过 HotFolder 发送的提要的情况下似乎不起作用。我想知道,Hybris 是否有任何开箱即用的功能来捕获与通过 Feed 对给定数据模型所做的相同信息或更改?
我根据 OOTB 代码观察到的是,此类DefaultItemModificationHistoryService
负责记录在模型级别完成的更改(填充值并将最后的更改保存到保存的值模型表中),它位于 OOTB 后台扩展内部,并且该扩展已经通过myprojectbakcoffice
扩展扩展,该扩展进一步扩展myprojectcore
扩展。
为了捕获通过提要完成的最后更改,我们考虑在拦截器中处理该逻辑,但是上面的类在我们的myprojectcore
扩展中无法访问,因为它是在 Backoffice 中声明的。
为了实施这一点,我能想到的其他可能的解决方案是什么?
在这里找到一些与此相关的文章。
请指教。
您可以使用 hybris 商务审计框架来记录系统中发生的所有更改。
此处的文档说:">通用审核跟踪每个持久性操作,包括指定类型的创建、修改和删除。审核存储为更改日志,允许您查看项目随时间的变化情况。">
但这会带来数据库开销。有一些特定的表会大量记录更改的详细信息。
These tables have a naming convention as <item_type>_sn.
E.g.: For Order item type, the audit table would be auto created as orders_sn
这就是为什么始终建议在适用的情况下关闭审核的原因。