WAObservations observation = getHibernateTemplate().get(WAObservations.class,1);
在此处设置一些数据并更新状态
observation.setObservationStatus(Constants.observation_completed);
状态更新后,将在以下两个依赖项表中生成新记录
WAMicroObservations aMicroObservations = new WAMicroObservations();
aMicroObservations.setWaObservationId(observation);
设置更多与微观观测相关的值。如果这里出现任何异常,这两个依赖关系表不会更新。它很好。但是上面WAObservations表自动更新了。
WAChemObservations aChemObservations = new WAChemObservations();
aChemObservations.setWaObservationId(observation);
getHibernateTemplate().save(aMicroObservations);
getHibernateTemplate().save(aChemObservations);
如何防止 WAObservations 表更新 如果在执行代码时引发任何异常?
任何帮助,将不胜感激。
提前谢谢!!
如果不看一下你的真实业务代码,很难猜测,但我假设你只需要正确定义你的交易边界。如果要采用"全有或全无"方法,请为所有操作定义一个通用事务。仅当所有代码都完成且没有任何异常时,才会提交修改语句。否则,如果发生异常,将发生回滚。
也许看看声明式事务管理。
至少使用 SessionFactory.getCurrentSession()
而不是已弃用的 HibernateTemplate。