zoukankan      html  css  js  c++  java
  • Spring 设置readonly 事务只读模式

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt394

    在学习spring事务的时候,发现设置readOnly后不启作用。

    查阅资料后发现对spring事务中readOnly的定义理解有错,与oracle中的事务隔离级别read-only混淆。

    oracle中的事务隔离级别定义:只读事务只能看到事务执行前就已经提交的数据,且事务中不能执行 INSERT , UPDATE ,及 DELETE 语句。

    spring中readOnly的定义:This just serves as a hint for the actual transaction subsystem;it will not necessarily cause failure of write access attempts.

    spring的readOnly事务是对java中jdbc的封装,java中connection.setReadOnly(boolean)的定义:Puts this connection in read-only mode as a hint to the driver to enable database optimizations.

    结论:spring中readOnly的定义,并不是不能在事务中进行修改等DML操作,它只是一个“暗示”,提示数据库驱动程序和数据库系统,这个事务并不包含更改数据的操作,那么JDBC驱动程序和数据库就有可能根据这种情况对该事务进行一些特定的优化,比方说不安排相应的数据库锁,以减轻事务对数据库的压力,毕竟事务也是要消耗数据库的资源的。

  • 相关阅读:
    拟阵交
    HEOI2021退役记
    退役划水一
    上下界网络流学习笔记
    扩展卢卡斯学习笔记
    扩展中国剩余定理(EXCRT)学习笔记
    插头DP学习笔记
    如何优雅地生成仙人掌图
    Powerful Number 筛学习笔记
    边分治学习笔记
  • 原文地址:https://www.cnblogs.com/grefr/p/6088014.html
Copyright © 2011-2022 走看看