这个问题已经在讨论here,但是,它并没有解决我的问题。Hibernate Envers:如何从我的审计表中删除条目?
让我们来简单的审计类人与一些字符串信息,如姓名等,并与字符串电子邮件地址列表。现在我想从数据库中删除特定的人员及其所有修订版本。我知道,这不是Envers常见的用例,但它对我的项目至关重要。我明白了,我可以使用这样的事情:
然而,这并不会删除:
“PERSONID从full.package.name.Person_AUDü其中u.originalId.id =删除”在电子邮件表中与这个人相关的记录,因为这个关系没有限制。或者我做错了什么?
我也在考虑从REVINFO表中删除记录(在审计表中有关于REVINFO表的约束),但这不是安全的,因为在一个事务中可以有更多的实体被修改,因此更多的实体可能有相同的版本号。
我的问题是:是否有任何简单的方法从任何人的所有审计表中删除所有记录?
不幸的是上面的例子只是简单的例子。我们的实际应用程序要复杂得多,建议的解决方案不易实现。 – ferou 2012-08-17 08:17:22