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表更新如果在执行代码时引发任何异常?
任何帮助,将不胜感激。
提前致谢!!!
答案 0 :(得分:0)
如果不查看您的真实业务代码,很难猜到,但我认为您只需要正确定义您的事务边界。如果你想去全部或全部的话。方法,为您的所有操作定义一个公共事务。只有当所有代码完成且没有任何异常时,才会提交修改语句。否则,如果发生异常,将发生回滚。
也许看看declarative transaction management。
至少使用public interface UserRepository extends MongoRepository<User, String>
代替deprecated HibernateTemplate。