問題タブ [javers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javars Diff をデシリアライズすることは可能ですか?
既存のレガシー システムに単純な差分システムを実装しようとしています。Javars を使用して複数の潜在的なオブジェクト状態間の差分を計算し、それらをシリアル化されたバージョンに保存しています。オブジェクトの変更をコミットしたくありません。差分を追跡するだけです。
以前にシリアル化された Diff を指定して Diff オブジェクトを再作成する方法はありますか?
これが私のユースケースです:
変更したくない基本エンティティがあります。システムは同じエンティティの新しいバージョンを受け取ります。ベース エンティティとの違いを知りたいです。私は Javars Diff を使用して違いを見つけ、それらを表示し、明らかに差分をシリアル化して永続化しますが、シリアル化された差分を介して DB から復元することはできません。
同じことを達成する 1 つの方法は、変更された代替エンティティ全体を永続化し、実行時に Diff を計算することだと思いますが、変更されたフィールドがわずかしかない場合は、新しいエンティティ全体を永続化する必要はないようです。エンティティの代替バージョンを永続化すると、一意のキーが原因で既存のシステムも台無しになります。