異なるスキーマ上のエンティティ間のリンクを持つアプリケーションがあります。
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 を保存する正しい順序で処理する必要があると考えました。
これを手動で処理する必要がありますか?
ありがとうございました