4
在J2SE应用程序中使用JPA(OpenJPA)我试图用条目列表的内容更新表:添加新条目或使用列表中的内容替换现有条目(如果它们存在)。JPA EntityExistsException执行合并时重复条目?
1)什么是最好的方法来做到这一点?
对于我想执行数百合并在同一事务中...(有的在列表中的条目可能是张玉峰,具有相同的ID)
似乎使用HSQLDB时,做工精细,但是当使用MySQL作为数据库时,我得到这个异常: org.apache.openjpa.persistence.EntityExistsException:重复条目
2)任何想法为什么?
的代码很简单,这样的事情:
EntityManager em = emfactory.createEntityManager();
em.getTransaction().begin();
// update messages
for (Message msg : messages) {
Entry e=new Entry(msg.getId(), msg.getText(),msg.getDate());
em.merge(e);
}
em.getTransaction().commit();
em.close();
感谢
我猜异常快到形式提交的生成策略。如果是这样,你可以尝试解决这个问题并找到导致问题的味精。在合并下的for中移动提交。用try/catch包围提交并在catch中设置一个断点。另外,Message实体中的唯一字段是什么? – AR3Y35 2012-05-18 08:46:10