在我正在开发的应用程序中,我使用 spring、hibernate 和 envers 进行审计。 envers 适用于 hibernateTemplate.insert、hibernateTemplate.save、hibernateTemplate.saveOrUpdate 等调用。但是当我调用 hibernateTemplate.bulkUpdate 时它似乎不起作用。
我搜索了解决方案,发现 envers 不支持 bulkUpdate。
以下链接中提供了解决方法,但我无法获取。
如果有人可以为此提供解决方法/示例,将会有所帮助。
谢谢
最佳答案
文档是正确的。 HQL 和 native SQL 操作未被审计。
由于批量更新的性能会受到审计的影响,您可能希望更改您的设计 - 例如,如果您有一个父实体和相关的子实体,并且您正在对子记录执行批量更新,您可以更新父记录的属性,然后在进行批量更新后调用 saveOrUpdate。
另一种选择是手动对审计表执行批量更新,但这并不优雅。通过按照上述更改设计,我设法解决了我的问题。
关于bulkinsert - 解决批量更新的 envers 审计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12370596/