周·煜
2010-08-08 09:27
浏览 196
已采纳

【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>  






tx:attributes


/tx:attributes
/tx:advice

<aop:config> 



/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("测试异常");
}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • oyj7454103 2010-08-08 10:01
    已采纳

    1.0 数据库表是否支持事物回滚 mysql--> innoDB
    2.0 既然事物让spring管理 就不要自己再去 try catch 了

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题