2

異なるスキーマ上のエンティティ間のリンクを持つアプリケーションがあります。

Entity A (from schema 1) --@OneToMany(cascade=MERGE)--> Entity B (from schema 2).

この場合、A をマージするときに、カスケード タイプのマージで問題が発生することがあります。

A = getAbyId(id)
A.setB( new B() )
merge(A)

エラーは次のとおりです。

object references an unsaved transient instance – 
save the transient instance before flushing

このエラーは、オブジェクト B を保存されていないエンティティとして参照します。

カスケード TYPE = Merge では、B の次に A を保存する正しい順序で処理する必要があると考えました。

これを手動で処理する必要がありますか?

ありがとうございました

4

0 に答える 0