更新托管实体数据时并不直接反映到数据库,所以我在Hibernate中使用了evict。我得到的例外是传递给它的分离实体。
MobeeAgent agent= agentsList.get(rowIndex);
BeanUtils.copyProperties(agent, doMobeeAgent);
agentsList.set(rowIndex, agent);
((Session)getEntityManager().getDelegate()).evict(agentsList.get(rowIndex));
此致
纳格。
答案 0 :(得分:0)
“传递给persist的分离实体”意味着您正在尝试使用Hibernate认为已存在的实体调用persist()
(因为它已经有一个ID,或者一个非零的@Version属性)。 persist()用于创建 新实体。如果您要更新和现有实体,则必须使用merge()
。