0

テストを書いているときに、オブジェクトのクローンを作成する必要があることに気づきました。apache-commons によって 2 つの Utill クラスが見つかり、どちらを使用すべきかを見つけようとしました。両方の API ドキュメントを読んで差分を見つけようとしましたが、どちらを使用すべきかがわかりませんでした。

BeanUtils cloneBean() API ドキュメント

ドキュメントに従って: Bean クラス自体が Cloneable を実装していない場合でも、使用可能なプロパティ getter および setter に基づいて Bean を複製します。

疑問: DTO クローニングでこれを使用する必要がありますか?

SerializationUtils clone() API ドキュメント

ドキュメントに従って:

シリアル化を使用してオブジェクトをディープ クローンします。

これは、オブジェクト グラフ内のすべてのオブジェクトに対してクローン メソッドを手動で記述するよりも何倍も遅くなります。ただし、複雑なオブジェクト グラフの場合、またはディープ クローニングをサポートしていない場合、これは単純な代替実装になる可能性があります。もちろん、すべてのオブジェクトはシリアライズ可能でなければなりません。

疑問: DTO と Entity Object の両方に使用する必要がありますか? またはエンティティのみ

4

1 に答える 1