任何人都可以帮助我如何使用envers解决制造商检查功能的这些用例。
1)Maker创建创建实体的请求(例如部门) - 不应将数据插入实体表。它必须记录在审计表
中2)Checker会检索实体列表以进行授权 - 应从审计表中查询数据
3)Checker查看待处理的请求 - 显示原始记录和更改
4)检查员授权该请求 - 将数据从审计表移动/覆盖到enity表。
5)Maker请求修改实体 - 不会修改实体表。更改记录在审计表中。更改将仅在授权时移动实体表。
预计解决方案将解决以下约束
1)Master-Detail即,Dept包含Employees
2)批量授权,即当某个部门有10,000名员工时,授权过程应具有合理的性能。最终用例必须执行数据验证+授权规则+将数据从审计表移动到实体表。
3)以上所有用例均适用于Master-Detail。
我想从envers专家那里了解使用envers实现上述所有用例是否可行? Envers需要做哪些改变?
提前致谢 --Kiran.Kumar
答案 0 :(得分:0)
我想从envers专家那里了解使用envers实现上述所有用例是否可行?
我不是Envers的专家,但不是,几乎没有一个案例可以与Envers合作。原因很简单:您有太多特定用例来使用通用解决方案。
在你的位置,我会指定一个名为“可验证”(或类似的东西)的界面,它定义了“approvalDate”和“approver”。您的业务方法将负责检索尚未批准的实体并处理它们。请注意,首先将实体存储在一个表中,然后将实体移动到另一个表中可能是不可行的。