MongoDB 与 Javers 的原子性

MongoDB atomicity with Javers

我看到 Javers mongo 存储库将数据存储在两个不同的集合中。假设我正在使用 Javers 进行审计,并且我正在将我的域对象写入另一个集合,我想知道如何在这些持久性操作中保持原子性。 Javers 是否执行某种两阶段提交以保持其两个内部集合之间的完整性?它是否为客户端应用程序的持久性操作提供挂钩以与审计日志同步?

MongoDB 没有交易。您所拥有的只是文档级别的原子写入(请参阅 https://docs.mongodb.com/manual/core/write-operations-atomicity/)。 JaVers 不在应用程序端实现任何类型的 "multi-document transactions"。

如果您需要 SQL 类交易,请选择 JaversSqlRepository 与 JPA EntityManager 集成 (参见 https://javers.org/documentation/spring-integration/#jpa-entity-manager-integration)。