Hibernate Envers - 删除实体时删除修订

Hibernate Envers - delete revisions when entity is deleted

是否可以设置 Hibernate Envers,以便在我删除原始实体时也删除它的所有修订版?只有当原始实体存在时,我才需要跟踪历史。

我不认为 Envers 本身提供这样的选择,所以你必须自己做一些事情。

想到的选项:

  • 实体或相关 Envers table 上的数据库触发器,删除实体删除或插入删除更改时的历史记录。
  • 一个 JPA 侦听器。请注意,JPA 侦听器对其可能执行的操作非常有限,但通过 JdbcTemplate 发出 SQL 语句应该没问题。