oracle事务

来源:互联网 发布:java继承接口的关键字 编辑:程序博客网 时间:2024/05/22 00:45

事务是一种机制,在数据库的修改操作中需要用到,比如说hibernate中推荐使用事务,spring中aop控制事务,mybatis中工厂提交分手动和自动!等等,看见事务的重要性!!

事务:一条或者一组sql语句组成的工作单元,这一个工作单元作为一个整体,要么都成功,要么都失败!

事务特性(acid):

  • 原子性:事务也就是工作单元是最小的操作组件,不可再分.
  • 一致性:事务操作要么都成功,要么都失败.
  • 不变性:操作前后的总量是不变的.
  • 隔离性:事务之间独立,互不干扰.

需要注意的是,尤其是在hibernate中,如果方法执行了,但是修改操作却没有成功,那么这个时候就要查看事务这里是否监控了,就是hibernate必须有事务.仅限create/update/delete

举个aop配置的例子:

    <!--对事务的监控-->    <aop:config proxy-target-class="true">        <aop:pointcut id="txPointcut" expression="execution(* com.javakc.rbac.*.service.impl.*.*(..))"/>        <aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice"/>    </aop:config>    <!--具体方法的操作-->        <tx:advice id="txAdvice" transaction-manager="txManager">        <tx:attributes>            <tx:method name="create*" propagation="REQUIRED" />            <tx:method name="delete*" propagation="REQUIRED" />            <tx:method name="update*" propagation="REQUIRED" />            <tx:method name="query*" propagation="SUPPORTS" read-only="true"/>            <tx:method name="*" propagation="SUPPORTS" read-only="true"/>        </tx:attributes>    </tx:advice>
0 0
原创粉丝点击