0

我希望使用 Envers 来处理我的应用程序中的审计。我有多个用例,所以我仅限于确保我有一个RevisionEntity代表我的整个应用程序的单一应用程序(否则,我认为使用多个实体来解决这个问题会容易得多)。基本上,我想跟踪一个实体的多个实例作为同一修订的一部分,理想情况下,甚至其他实体作为该修订的一部分。

基本上,一个实体(父实体)的插入应该触发修订的开始,应该包括对一个实体的更新,并且还应该包括对第三个实体的插入或更新(在这一修订中)。

那么这需要自定义策略吗?我是要打破现有实体的策略,还是需要进行 if/else 检查?

4

1 回答 1

0

每个修订都捕获在单个事务中完成的更改,并且不可自定义;也总是有一个单一的修订实体。

这个想法是数据库总是在事务之前和事务提交之后处于“一致”状态。这就是 Envers 想要捕捉的状态。

因此,如果您在一个事务中修改多个实体,它们都将在一个修订中被捕获。

于 2013-08-26T07:15:04.330 回答