2016-12-25 2 views
0
  • 私はEntity PatientとEntity Testを持っています。
  • どちらにもManyToMany関係があります。
  • 私はCASCADE_TYPE = ALLを両側に追加しました。
  • 私はHibernate EntityManagerのpersist(Patient)を使用しています。方法。
  • 私はそれを実行すると "org.hibernate.PersistentObjectException:detachedエンティティがpersist:Testに渡されました"というメッセージを投げています
  • これらは画面です。誰もが解決策を持っている場合は

Patientクラス Patient Class - Mappingorg.hibernate.PersistentObjectException:デタッチされたエンティティがpersistに渡されました - ManyToManyマッピング

テストクラス Test Class - Mapping

それを共有してください。

ありがとうございました。

+0

CascadeType.MERGEを使用してみてください –

+1

これらのオブジェクトを保持するように書いたコードを投稿してください –

答えて

0

mergepersistあなたのエンティティとはかなり異なることをします。あなたは本当にあなたが最初にやろうとしていたことをマージが達成すると確信していますか?

this topic over hereを参照してください)あなたはtest永続化する書いたコードを見ることなく - エンティティを、私は本当に何が悪かったのかを伝えることはできませんが、私はそのあなたの多対多-関係とは何かをしたことを想像することができそこにいる。カスケードしてもよろしいですか? test - インスタンスをデータベースから削除すると、そのリスト内のすべてのpatientがカスケードによって削除されます。 そして、リスト内のpatientごとに、testList<test>にカスケードします。

+0

はい、あなたは正しいです...カスケードタイプを変更する必要があります..ありがとう.. –

-1

CASCADE_TYPE=PERSISTを変更することをおすすめします。

0

ありがとうございました。 em.persist()からem.merge()に変更しました。正常に動作します。

関連する問題