0
我試圖保存到數據庫對分離實體所做的更改。 實體的對象傳遞給通過參數的函數(命名爲數據):JPA不堅持實體
private boolean generate(CommonGameData data) {
boolean result = true;
EntityManager em = HibernateUtil.currentEntityManager();
try {
em.getTransaction().begin();
em.merge(data);
em.flush();
...some changes to data object...
em.persist(data);
em.flush();
em.getTransaction().commit();
} catch (Exception ex) {
...
return false;
}
return true;
}
至於我,如果我使用分離的實體已閱讀,我應該先打電話合併。 但提交成功完成後,我看不到數據庫中的任何更改。 錯誤在哪裏?
也許與http://stackoverflow.com/questions/1069992/jpa-entitymanager-why-use-persist-over-merge?有關? – Smutje
你想做什麼:保存一個新的實體或更新它?向我們展示HibernateUtil。 –
我沒有得到這段代碼。當您想要從已分離的現有持久對象合併更改時調用合併。當你想將新創建的實體持久化到數據庫時,你可以調用persist。 – Gimby