使用修订表来存储业务数据?

using revision tables to store business data?

我们在项目中使用 Hibernate Envers 来存储所有数据库表的完整修订。

您是否建议使用这些影子表来检索业务数据(例如实体的 creationDateTime/modificationDateTime/business "history"),或者将业务数据集成到业务实体(当然以某种方式复制它,因为影子表也存储例如创建日期时间)并让 envers 发挥它的魔力?

请记住,从 envers 表访问和检索有时不是最有效的。

提前致谢!

Envers 的主要用例是数据审计,因此记录更改,不一定是业务功能。但是,如果性能特征很好(在这种情况下我建议使用有效性审计策略),我不明白你为什么不使用 Envers 提供的内置版本控制。