テストを書いているときに、オブジェクトのクローンを作成する必要があることに気づきました。apache-commons によって 2 つの Utill クラスが見つかり、どちらを使用すべきかを見つけようとしました。両方の API ドキュメントを読んで差分を見つけようとしましたが、どちらを使用すべきかがわかりませんでした。
BeanUtils cloneBean() API ドキュメント
ドキュメントに従って: Bean クラス自体が Cloneable を実装していない場合でも、使用可能なプロパティ getter および setter に基づいて Bean を複製します。
疑問: DTO クローニングでこれを使用する必要がありますか?
SerializationUtils clone() API ドキュメント
ドキュメントに従って:
シリアル化を使用してオブジェクトをディープ クローンします。
これは、オブジェクト グラフ内のすべてのオブジェクトに対してクローン メソッドを手動で記述するよりも何倍も遅くなります。ただし、複雑なオブジェクト グラフの場合、またはディープ クローニングをサポートしていない場合、これは単純な代替実装になる可能性があります。もちろん、すべてのオブジェクトはシリアライズ可能でなければなりません。
疑問: DTO と Entity Object の両方に使用する必要がありますか? またはエンティティのみ