我知道我可以创建前/后插入/更新/删除侦听器,并且可以记录这些事件,但是鉴于可以同时运行多个线程的多个事务,因此我不确定如何对它们进行分组在一起,或者确定我已经捕获了所有这些。
我也知道我可以在事务完成时收听,但是由于上述问题,我不确定如何识别该事务中包含哪些更改。
我已经在使用envers创建审核,并使用自定义修订类,以便将字段添加到REVINFO记录中,如果有帮助。
我是否缺少休眠机制,这会有所帮助?
编辑:
我实际上想做的事情:事务完成后(希望由spring / hibernate / envers触发),遍历所有所做的修改(我认为envers可以通过其事件提供此信息,我很高兴记录下这些内容(以交易ID为关键字的位置),然后写出更改为SQS的摘要。
鉴于您正在使用Envers,实际上我会考虑完全将报告生成步骤与当前应用程序脱钩。这给您带来几个好处: