2012-09-11 60 views
1

在我正在使用的应用程序中,我使用spring,hibernate和envers进行审计。 envers与呼叫类似,hibernateTemplate.insert,hibernateTemplate.save,hibernateTemplate.saveOrUpdate。但它似乎没有工作,当我打电话hibernateTemplate.bulkUpdate解决envers审计批量更新

我搜索了解决方案,发现envers不支持bulkUpdate。

解决方法已在下面的链接中提供,但我无法获得它。

Envers Bulk insert/updates

这会有所帮助,如果有人能为此提供一种解决方法/样品。

谢谢

回答

1

该文档是正确的。 HQL和本机SQL操作不会被审计。

由于批量更新的性能会受到审计的影响,因此您可能希望更改您的设计 - 例如,如果您有一个拥有相关子项的父实体,并且您正在对子记录执行批量更新,您可以更新父记录的属性,然后在执行批量更新后调用saveOrUpdate。

另一种选择是在审计表上手动执行批量更新,但它不会很优雅。按照上面的说明,通过更改设计,我设法解决了这个问题。