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