3

既存のレガシー システムに単純な差分システムを実装しようとしています。Javars を使用して複数の潜在的なオブジェクト状態間の差分を計算し、それらをシリアル化されたバージョンに保存しています。オブジェクトの変更をコミットしたくありません。差分を追跡するだけです。

以前にシリアル化された Diff を指定して Diff オブジェクトを再作成する方法はありますか?

これが私のユースケースです:

変更したくない基本エンティティがあります。システムは同じエンティティの新しいバージョンを受け取ります。ベース エンティティとの違いを知りたいです。私は Javars Diff を使用して違いを見つけ、それらを表示し、明らかに差分をシリアル化して永続化しますが、シリアル化された差分を介して DB から復元することはできません。

同じことを達成する 1 つの方法は、変更された代替エンティティ全体を永続化し、実行時に Diff を計算することだと思いますが、変更されたフィールドがわずかしかない場合は、新しいエンティティ全体を永続化する必要はないようです。エンティティの代替バージョンを永続化すると、一意のキーが原因で既存のシステムも台無しになります。

4

2 に答える 2