我正在使用Teneo / EMF / Hibernate,我做了一个简单的测试。
这是我的测试代码:
// LOAD A
Session session = this.hbds.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
A loadedA = (A)session.createQuery("FROM A a LEFT JOIN FETCH a.b1").list().get(0);
transaction.commit();
session.flush();
session.close();
// LOAD B
session = this.hbds.getSessionFactory().openSession();
transaction = session.beginTransaction();
B loadedB = (B)session.get("B", (Long)6L);
transaction.commit();
session.flush();
session.close();
// ADD B TO A
session = this.hbds.getSessionFactory().openSession();
transaction = session.beginTransaction();
loadedA.getB1().add(loadedB);
//loadedA.getB1().add(b);
session.saveOrUpdate(loadedA);
transaction.commit();
session.flush();
session.close();
this.hbds.close();
您知道使用saveOrUpdate的正确配置是什么,并避免这些错误吗?或者是避免这个问题的任何解决方案?
答案 0 :(得分:0)
Martin Taal在Eclipse论坛上回答了我的问题。