0

2つのエンティティが1対多の関係でマップされています。IDが1,2のデータベースに2つのオブジェクトを永続化しています。

同じタイプで

シナリオ1.ID「1」を削除しようとしてgetEntityManager.remove(object1)います。

子エンティティの永続化に渡された切り離されたエンティティ..DBレコードも見つかりました。

getEntityManager.remove(object2)シナリオ2.レコード2を削除してID「2」を削除しようとしている場合。

この例外は、同時にレコードを入力する前にのみ発生します。

ページを閉じて再度開いた後、ID1,2をDbから削除します。正常に機能しました。

4

1 に答える 1

0

com.manam.mobee.persist.entity.MobeeLabelTemplate#null

内部mobeeLabel.getMobeeLabelTemplates()を調べて、 IDdeleteLabel()が付いていることを確認します。


編集:

更新および削除するには、オブジェクトのIDが必要です。mobeeLabelを削除する前に、findByIdを実行してから削除してください。挿入されていないmobeeLabelTemplatesがいくつかあるはずです(または更新されていません-idsがdbと同期していません)。次のようなものを試してください。

MobeeLabel freshMobeeToDelete = (MobeeLabel) getEntityManager().find(MobeeLabel.class, mobeeLabel.getId());
getEntityManager().remove(freshMobeeToDelete);
于 2012-09-28T11:23:54.853 に答える