【发布时间】:2014-04-23 08:59:15
【问题描述】:
我正在使用 hibernate 开发一个应用程序,并像往常一样将 Entities 保存在 hibernate 事务中。如果交易是否成功完成,我想从交易中“获取反馈”,并据此执行下一个代码。这是我用来更新实体的简单方法:
public boolean updateDepartment(Department s) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = HibernateUtil.getTransaction(session);
boolean success = false;
try
{
tx.begin();
session.update(s);
tx.commit();
success = true;
}
catch (Exception e)
{
tx.rollback();
e.printStackTrace();
success = false;
}
return success;
}
从其他代码调用方法:
boolean b = dao.updateDepartment(d);
if(b)
{
doStuff();
}
else
{
showMessage("Save not usccessful. Try again");
}
我的问题是这种带有boolean 变量的方法是否是最佳方式,或者是否可以以更好的方式执行。如果我的方法没问题,如果return 语句被finally 包围会更好吗?
【问题讨论】:
标签: java hibernate transactions try-catch