Javers 生产最佳实践

Javers production best practices

是否有任何生产最佳实践(调整和类似)可以遵循以避免:

是否还有任何清理实用程序或最佳实践来删除 "old" 或不必要的数据? 使用 MongoDB 能否解决最终的性能或数据维护问题?

有一个性能提示 -- 保持 Javers 数据小。您应该控制 Snapshots 持久保存到 JaversRepository 的数量。

应用程序应该只跟踪用户输入的重要数据的变化。您可以将其称为核心域数据或业务相关数据。应忽略所有技术数据、从其他系统导入的数据和生成的数据。 ignoring things in Javers.

有多种方式

归根结底,当您向用户展示 change log 时,它应该看起来像一个简明的、人类可读的故事,例如:

System.out.println(changes.prettyPrint());
Changes:
Commit 2.0 done by author at 15 Apr 2018, 22:50:15 :
* changes on Employee/Frodo :
  - 'salary' changed from '10000' to '11000'
  - 'subordinates' collection changes :
    0. 'Employee/Sam' added
* new object: Employee/Sam
* changes on Employee/Sam :
  - 'boss' changed from '' to 'Employee/Frodo'
  - 'name' changed from '' to 'Sam'
  - 'salary' changed from '0' to '2000'
Commit 1.0 done by author at 15 Apr 2018, 22:50:15 :
* new object: Employee/Frodo
* changes on Employee/Frodo :
  - 'name' changed from '' to 'Frodo'
  - 'salary' changed from '0' to '10000'