我正在尝试为现有的遗留系统实现一个简单的差异系统。我正在使用 Javers计算多个潜在对象状态之间的差异,并将它们保存在序列化版本中。我不想在我的对象上提交更改,只需跟踪我的差异。
给定先前序列化的 Diff,有什么方法可以重新创建 Diff 对象?
这是我的用例:
我有一个不想更改的基本实体。系统接收同一实体的新版本,我想知道它们与我的基本实体有何不同。我使用 Javers Diff 发现了差异并可以显示它们,并且显然通过序列化差异来持久化它们,但不能通过序列化差异从数据库中恢复它们。
我想实现相同的一种方法是保留整个更改的替代实体,然后在运行时计算 Diff,但是当只有少数字段发生更改时,似乎没有必要保留整个新实体。由于唯一键,坚持我的实体的替代版本也会弄乱我现有的系统。