本帖最后由 zhuliangsoft 于 2010-12-17 17:14:04 编辑

解决方案 »

  1.   

    spring只有在运行时异常或者error异常的时候才会滚你可以在检测到有异常时 自己主动抛出来一个运行时异常
      

  2.   

      REQUIRED        如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。 
            SUPPORTS        支持当前事务,如果当前没有事务,就以非事务方式执行。 
            MANDATORY        使用当前的事务,如果当前没有事务,就抛出异常。 
            REQUIRES_NEW        新建事务,如果当前存在事务,把当前事务挂起。 
            NOT_SUPPORTED        以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 
            NEVER                 以非事务方式执行,如果当前存在事务,则抛出异常。 
            NESTED                 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
                    read-only:为true表示只读事务,就是说执行查询的方法,不会对数据造成影响。看一下这个看对你有没有帮助。
      

  3.   

    首先这种配置事务方式头大,为什么不用AOP么?
    事务回滚,只是针对运行时异常。如果别得异常需要回滚,可能您需要在配置文档指名。
    你这种方法,我确实看不懂,不晓得在哪指定。。
    你网上再查查
      

  4.   

    <prop key="delete*">PROPAGATION_REQUIRED</prop>   
      <prop key="operate*">PROPAGATION_REQUIRED,-Exception</prop>   
      <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>   
      <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>  
    <prop key="save*">PROPAGATION_NESTED,-Exception</prop>  
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
    </props>  还有,这个能指定你得service回滚么?
    保持怀疑态度,至少需要事务回滚得方法名字是:TestTransaction
    也有可能我没怎么看懂