我有一个使用 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)中插入的员工记录被回滚。
这个怎么做?