【发布时间】:2013-06-04 04:47:50
【问题描述】:
我有一个使用 spring+hibernate 创建的 java 应用程序。
我有这样的代码:
public class EmployeeDAO extends AbstractHibernateDAO {
public void save(Employee emp) throws HibernateException {
super.save(emp); // inside this method, it calls hibernate session.save(). This super.save method can throws HibernateException
doSometingElse(emp); // inside this method, it doesn't call any hibernate methods. It can throws Exception too.
}
}
我想将 EmployeeDAO.save 方法作为事务视图中的原子方法。
如果 super.save(emp) 成功但 doSomethingElse(emp) 失败(通过抛出异常),那么我希望将员工记录插入 super.save (emp) 被回滚。
如何做到这一点?
【问题讨论】:
标签: spring hibernate transactions atomic rollback