如题……编程式事务与声明式事务的区别啊? 要通俗易懂……

解决方案 »

  1.   

    编程式事务需要你在代码中直接加入处理事务的逻辑,可能需要在代码中显式调用beginTransaction()、commit()、rollback()等事务管理相关的方法,如在执行a方法时候需要事务处理,你需要在a方法开始时候开启事务,处理完后。在方法结束时候,关闭事务.声明式的事务的做法是在a方法外围添加注解或者直接在配置文件中定义,a方法需要事务处理,在spring中会通过配置文件在a方法前后拦截,并添加事务.
    二者区别.编程式事务侵入性比较强,但处理粒度更细.
      

  2.   

    编程试事务就是需要手工写代码提交事务,回滚事务等
    声明性事务就是在配置文件里面定义一下什么时候需要事务,到时候系统会自动commit,出异常了自动rollback,不需要在代码里面写commit或者rollback
      

  3.   

    声明式事务:
    在配置文件中将事务配置好,通过bean的形式,调用spring的事务。然后在程序中不需要太多的事务管理代码,比如事务commit,backroll等
    程序式事务:
    就是在程序中获得spring的事务,然后通过此事务管理对象来操作事务,比如事务提交,回滚等,也就是说程序中需要通过代码的形式来管理事务。为什么要有事务管理?
    事务都是为了保证数据的一致和完整,保证整个操作的原子性。不论是spring事务还是×××事务,都一样。
    银行扣款流程的例子就不举了。
    一般什么时候用?
    简单的一句select就用不到事务,当然,如果你的这个select要记录日志,日志记录出错不让select,那就又是一个事务了。
    还有一些,比如,上传文件。文件保存在操作系统,相关信息保存在数据库,要么两个保存都成功,要么都失败,这么也是一个事务了。希望能看懂