这个问题已经在这里讨论过,但是,它并没有解决我的问题。
让我们有一个简单的审计类 Person ,其中包含一些字符串信息,如姓名等,以及字符串电子邮件地址列表。现在我想从数据库中删除特定的人及其所有修订。我知道,这不是 Envers 的常见用例,但它对我的项目至关重要。我明白,我可以使用这样的东西:
“从 full.package.name.Person_AUD 中删除 u.originalId.id = :personid”
但是,这不会删除电子邮件表中与此人相关的记录,因为这种关系没有限制。还是我做错了什么?
我也在考虑从 REVINFO 表中删除记录(审计表中存在关于与 REVINFO 表的关系的约束),但这并不安全,因为在一个事务中可以修改更多实体,因此更多实体可能具有相同的修订号.
我的问题是:是否有任何简单的方法可以从任何人的所有审计表中删除所有记录?