zoukankan      html  css  js  c++  java
  • @Transactional的readOnly、timeout

    1、@Transactional的readOnly

    在使用@Transactional注解的时候,有一个属性是readOnly,默认值是false

    readOnly的意思就是当前的方法是只读的,也就是说当前的方法中没有需要处理事务(insert,update,delete的操作。则可以加上readOnly=true

    使用它的好处是Spring会把你优化这方法,使用了readOnly=true,也就是使用了一个只读的connection。效率会高很多

    例如:如下方法,userAdd肯定用到了insert操作。此时加上readOnly=true的话则会报错,插入不成功。

    1
    2
    3
    4
    @Transactional(readOnly=true)
    public void userAdd(User user) {
        userDao.userAdd(user);
    }

    readOnly的使用场景:

    1、只有查询操作的方法上(查询量比较大)

    2、确保当前方法不会出现insert,update,delete情况时,可以使用readOnly=true

    3、防止当前方法会出现insert,update,delete

    2、@Transactional的timeout

    事务的超时时间:Transaction时间太长的话,将它停止掉。默认-1





  • 相关阅读:
    Linux安装和配置java
    动态代理:JDK动态代理和CGLIB代理的区别
    常用算法复习
    Linux重新学习
    oracle复杂查询是sql
    oracle触发器
    oracle存储过程
    oracle数据库操作
    java知识回顾
    Spring AOP简述
  • 原文地址:https://www.cnblogs.com/meet/p/4762441.html
Copyright © 2011-2022 走看看