通过spring管理配置了事务管理,但是在执行过程中还是出现了异常:
Transaction not successfully started
修改为如下的方式则可以解决此问题:
Transaction not successfully started
以下三段代码均报了该异常。
- 1.
- public void updateProcInstObj(TaProcInst taProcInstObj_from2) throws Exception{
- String hql = "update TaProcInst set inststate=?,runtimes=?,completetime=? where procinstid=? ";
- this.getSession.createQuery(hql)
- .setString(0, taProcInstObj_from2.getInststate())
- .setInteger(1, taProcInstObj_from2.getRuntimes().intValue())
- .setString(2, taProcInstObj_from2.getCompletetime())
- .setString(3, taProcInstObj_from2.getProcinstid())
- .executeUpdate();
- }
- 2.
- public void updateProcInstObj(TaProcInst taProcInstObj_from2) throws Exception{
- TransAction transAction = this.getSession().getTransAction();
- transAction.begin();
- String hql = "update TaProcInst set inststate=?,runtimes=?,completetime=? where procinstid=? ";
- this.getSession.createQuery(hql)
- .setString(0, taProcInstObj_from2.getInststate())
- .setInteger(1, taProcInstObj_from2.getRuntimes().intValue())
- .setString(2, taProcInstObj_from2.getCompletetime())
- .setString(3, taProcInstObj_from2.getProcinstid())
- .executeUpdate();
- transAction.commit();
- }
- 3.
- public void updateProcInstObj(TaProcInst taProcInstObj_from2) throws Exception{
- TransAction transAction = this.getSession().beginTransAction();
- String hql = "update TaProcInst set inststate=?,runtimes=?,completetime=? where procinstid=? ";
- this.getSession.createQuery(hql)
- .setString(0, taProcInstObj_from2.getInststate())
- .setInteger(1, taProcInstObj_from2.getRuntimes().intValue())
- .setString(2, taProcInstObj_from2.getCompletetime())
- .setString(3, taProcInstObj_from2.getProcinstid())
- .executeUpdate();
- transAction.commit();
- }
修改为如下的方式则可以解决此问题:
- public void updateProcInstObj(TaProcInst taProcInstObj_from2) throws Exception{
- Session session = this.getSession();
- String hql = "update TaProcInst set inststate=?,runtimes=?,completetime=? where procinstid=? ";
- session.createQuery(hql)
- .setString(0, taProcInstObj_from2.getInststate())
- .setInteger(1, taProcInstObj_from2.getRuntimes().intValue())
- .setString(2, taProcInstObj_from2.getCompletetime())
- .setString(3, taProcInstObj_from2.getProcinstid())
- .executeUpdate();
- session.flush();
- session.clear();
- }