bboss 事务框架托管hibernate事务保存更新操作失效问题解决办法
采用bboss 事务框架托管hibernate事务时在执行tm.commit()之前需要调用一下hibernate session对象的flush方法,否则会导致hibernate的更新保存失效的问题:
各位可能会吐槽为什么会有这么多框架然到一起,呵呵,这是历史遗留问题,为了保证事务一致性,只好借助于bboss的通用事务管理框架了。
采用bboss 事务框架托管hibernate事务时在执行tm.commit()之前需要调用一下hibernate session对象的flush方法,否则会导致hibernate的更新保存失效的问题:
TransactionManager tm = new TransactionManager(); try { tm.begin(); //业务操作1,采用bboss持久层 //业务操作2,采用hibernate //工作流程操作,基于activiti 5.9工作流引擎,采用mybatis session.flush();//务必事务提交之前执行该语句,否则hibernate的更新保存操作无效 tm.commit(); DBUtil.debugStatus(); } catch(Throwable e) { try { tm.rollback(); } catch (RollbackException e1) { e1.printStackTrace(); } }
各位可能会吐槽为什么会有这么多框架然到一起,呵呵,这是历史遗留问题,为了保证事务一致性,只好借助于bboss的通用事务管理框架了。