0

管理対象エンティティのデータを更新する場合、DBに直接反映されないため、Hibernateでevictを使用しています。私が得ている例外は、永続化するために渡された切り離されたエンティティです。

MobeeAgent agent= agentsList.get(rowIndex);
BeanUtils.copyProperties(agent, doMobeeAgent);
agentsList.set(rowIndex, agent);
((Session)getEntityManager().getDelegate()).evict(agentsList.get(rowIndex));

よろしく

ナグ。

4

1 に答える 1

0

" detached entity passed to persistpersist() " は、Hibernate によって既に存在すると見なされているエンティティを使用して呼び出そうとしていることを意味します(ID またはゼロ以外の @Version プロパティがあるため)。persist()は、新しいエンティティを作成するため使用されます。既存のエンティティを更新する場合は、使用する必要があります。merge()

于 2012-06-10T14:16:14.217 に答える