如何在Spring的声明式事务管理的方法里实现提交两次。也就是一个方法里需要两个事务,有一个解决方法是配置这个方法不在一个事务里,然后在用hibernate的事务管理,有没有更好点办法?

解决方案 »

  1.   

    为什么要两个...
    不管你有多少个方法..放在一个spring service里不都是可以的啊!
      

  2.   

    给你一个idea。你的service方法中要用两个事务,比如1,2
    service(){
      1...
      2...
    }你将1,2分拆到2个事务方法中。
    service(){
      serviceTx1()
      serviceTx2();
    }对serviceTx1和Tx2使用声明式事务就可以了。有点就是你配置的声明式事务指定哪些方法使用事务的时候指定后缀为TX*的使用事务,其他不适用事务就可以了。
      

  3.   

    Session session = getSession();
    Session session = getSessionFactory().getCurrentSession();
    这两个Session有什么区别呢?
      

  4.   

    后面的Session是前面的子接口,问题解决了。