本帖最后由 EonianGlutton 于 2010-08-13 16:50:14 编辑

解决方案 »

  1.   

    我感觉是因为long id = getCurEquimentOrderId();在开启事务之后执行的,也就是如果调用了beginTransaction();那么之后所有执行的操作都是在这个事务内执行的。
    而如果你调换了两行代码的位置也就是说,getCurEquimentOrderId在两个不同的事务中执行。
    可否把你的源码发给我DEBUG一下。
    [email protected]
      

  2.   

    我觉得你的问题 应该是在调用的时候 重新创建了一个session的问题 如果你把这一段代码直接放到第一类中不重新创建session的话应该没有问题了 只是建议 可以试试
      

  3.   

    感觉应该是SESSION的问题,建议在JAVA版去咨询一下。
      

  4.   

    我是这样理解的
    sessionFactory.openSession();
    sessionFactory.openSession();
    session.close();
    这时session.close()了
    session.close();建议不要嵌套session
    很长时间没玩啦,不知道对不