2010-12-06 17 views
6

エンティティのディープコピーを行う必要があります。基本的には、複製する必要があるドメインオブジェクトがあります。そのため、エンティティと、その子とその子と、すぐに子の子と、すぐにそのコピーを作成する必要があります。構造体の全員のIDをnullに設定する必要があるため、新しいエンティティとして挿入されます。すでにいくつかの議論があるherelink textです。基本的な考え方は、独自のディープコピーロジックを作成することです。私は、データベースレベルでいくつかの手順を実行するような他のより良いアプローチがあるのか​​どうか疑問に思っています。JPAエンティティのディープコピー

私はJPAプロバイダとして休止状態を使用しているため、休止状態の特定のソリューションも機能します。

答えて

1

Javaでオブジェクトを詳細に複製する簡単な方法はありません。したがって、Hibernateはこれを特にサポートしていません。

言い換えれば、ディープコピーコードからHibernateアノテーションにアクセスし、それを使って何をすべきかを知ることができます。独自の注釈を追加することもできます(静的マスターデータを複製するディープコピーコードを停止することができます)。

このように動作する実装を記述し、@Idアノテーションを使用し、ルールをコーディングしてこれを実現する必要があります。

ストアドプロシージャの使用は、使用するデータベースとSQLの適合状況によっても機能します。しかし、結果として得られるコードは、メインとテストと理解が難しいでしょう。したがって、私はそれに反対します。

関連する問題