使用Hibernate我需要通过调用例如更新多个对象。 updateDetails()函数如下所示:
function updateDetails(){
Session session = this.getSessionFactory().openSession();
Employee emp=(Employee )session.load(Employee.class, empId);
emp.salary(2000);
Account acc=(Account)session.load(Account.class, accId);
account.setTotal(2000);
Transaction tx=session.beginTransaction();
session.update(emp);
session.update(acc);
tx.commit();
result=true;
session.close();
}
这样做的最佳方式是什么?
在同一会话中更新相同或不同类型的多个对象会导致休眠问题吗?
答案 0 :(得分:0)
为什么不呢。你可以做到这一点。 Hibernate允许。
由于您使用的是事务管理,因此答案取决于您的上下文。如果要保存两个对象而不管另外保存另一个对象,请在单个事务中更新它们。
如果您想成功保存整个信息,并希望在任何更新失败时还原所有内容,请将其保留为当前格式。