周·煜 2010-08-06 16:45
浏览 265
已采纳

【spring + hibernate】 事物无法回滚问题

事物配置:
Java代码

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
   <property name="sessionFactory">   
    <ref bean="sessionFactory"/>   
   </property>   
</bean>   

<!--事物的传播特性  -->   
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">   
   <tx:attributes>   
        <tx:method name="save*"   />   
        <tx:method name="*" read-only="true"  />   
       </tx:attributes>   
    </tx:advice>   
<aop:config>   
  <aop:pointcut id="transactionOperation" expression="execution(* com.base.service..*.*(..))" />   
  <aop:advisor  advice-ref="transactionAdvice" pointcut-ref="transactionOperation" />   
</aop:config>  
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
   <property name="sessionFactory">
    <ref bean="sessionFactory"/>
   </property>
</bean>

<!--事物的传播特性  -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
   <tx:attributes>
        <tx:method name="save*"   />
        <tx:method name="*" read-only="true"  />
       </tx:attributes>
    </tx:advice>
<aop:config>
  <aop:pointcut id="transactionOperation" expression="execution(* com.base.service..*.*(..))" />
  <aop:advisor  advice-ref="transactionAdvice" pointcut-ref="transactionOperation" />
</aop:config>

Java代码
server 层为事物边界

public void saveGame(GameClassEntity o) {

this.GameDao.saveGame(o);

}

server 层为事物边界

public void saveGame(GameClassEntity o) {
this.GameDao.saveGame(o);
}

Dao 层的方法 不管你抛什么异常 打死也不回滚! 极度郁闷ing

Java代码
public void saveGame(GameClassEntity o){

this.save(o);

throw new RuntimeException("测试异常");

}

public void saveGame(GameClassEntity o){
    this.save(o);
         throw new RuntimeException("测试异常");
}

希望路过者指点一二!!!

  • 写回答

2条回答 默认 最新

  • oyj7454103 2010-08-06 17:08
    关注

    [quote]您的
    没有定义事务异常,改成
    当抛出此异常回滚。[/quote]

    不对! spring 默认 RuntimeException 会回滚的 :wink:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记