首页 > 其他分享 >Spring中注解---事务注解 @Transactional中的属性与值

Spring中注解---事务注解 @Transactional中的属性与值

时间:2022-11-02 01:33:06浏览次数:52  
标签:事务 Spring Transactional 外层 报错 设置 注解 属性

@Transactional

  修饰范围:类上或方法上

  作用:给类中方法加入事务,当类上和方法上同时存在该注解时方法优先

  注解属性:

    propagation :控制事务传播属性

        属性值:

            (默认)Required : 需要事务,如果外层没有事务,则开启事务,若果外层有事务则融入当前事务。

            Supports:支持事务,如果外层存在事务则融入当前事务,如果外层不存在事务也不会开新的事务

            Mandatory:强制事务,必须存在事务,没有事务则报错

            Requires_new:每次都会开启一个新的事务,如果外层存在事务,则外层事务挂起。自己新开启一个事务运行,运行完毕后,外层事务恢复

            Not_Supportes:不支持事务,如果外层存在事务,外层事务挂起(暂停),自己已非事务的方式运行,运行完成后,恢复外层事务

            Never:不能有事务,存在则报错

            Nested:嵌套事务,数据库不支持

 

    isolation : 控制事务隔离级别

         属性值: 

             (默认)default:采用数据库自身的隔离级别

             Read_Uncommitted:读未提交:一个事务读取到另一个事务没有提交的数据(脏读)

             Read_Committed:读已提交:一个事务等另一个事务提交以后才能读数据,有效地避免了脏读现象。(Oracle默认使用)

             Repeatable_read:可重复读:一个事务中A多次读取同一条数据(出现幻影读),即使事务B有修改操作,那么事务A读取的数据始终是一致的。(MySQL默认使用)

             Serializable:序列化:事务的最高隔离级别,事务已串行的方式执行。解决幻影读现象

 

    timeout : 设置超时时间,单位:毫秒

          属性值:

             -1:代表永不超时

             任意值 :是一个大于0的值,代表当前事务执行过程中超时就会报错

 

    rollbackFor : 设置遇见什么异常进行回滚,设置java.lang.RuntimeException以及子类异常

          如:rollbackFor = NullPointerException.class  

 

    noRollbackFor : 设置遇见什么异常不进行回滚,设置java.lang.RuntimeException以及子类异常

          如:noRollbackFor = IndexOutOfBoundsException.class

 

    readOnly : 设置事务是否只读(Oracle不支持这个) 

          属性值: 

             true:本次事务只读,不能置信增删改

             false:本次事务可读可写    

      

标签:事务,Spring,Transactional,外层,报错,设置,注解,属性
From: https://www.cnblogs.com/Life-QX/p/16849720.html

相关文章

  • [JAVA]Springboot添加fastjson用于前台数据校验
    方式一,添加HttpMessageConverters实例importcom.alibaba.fastjson.support.config.FastJsonConfig;importcom.alibaba.fastjson.support.spring.FastJsonHttpMessage......
  • SpringMVC
    SpringMVC简述是基于spring的一个框架,实际上就是spring的一个模块,专门做web开发的。可理解为servlet的一个升级。web开发底层是servlet,框架是在servlet基础......
  • Spring Session
    Session会话管理概述Web中的Session和Cookie回顾Session机制由于HTTP协议是无状态的协议,一次浏览器和服务器的交互过程就是:浏览器:你好吗?服务器:很好!这就是一次......
  • Spring
    Spring初识官方学习文档:https://docs.spring.io/spring-framework/docs/5.0.0.RC3/spring-framework-reference/core.html#spring-core优点:轻量级、非入侵式框架控......
  • 使用Spring Boot DevTools自动重启,有什么用
    SpringBootDevTools的自动重启部署功能,个人感觉并没有什么用。默认,在引入这个依赖后,只要编译一下类,整个服务就自动重启了。没明白这个有啥提效的作用。这个自动重启,可以......
  • 多线程 & 反射 & 注解 & JDBC 核心点总结
    多线程核心点:线程安全创建线程的两种方式线程生命周期获取、修改线程名获取当前线程对象静态方法sleep()通过异常终止线程的睡眠interrupt()强行终止线程合理......
  • Spring -Mybatis整合
    核心:spring整合mybatis  spring-dao.xml<?xmlversion="1.0"encoding="UTF8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="ht......
  • spring-1
    快速下载生成一个springboot项目https://spring.io/quickstart效果1启动   2访问 ......
  • Spring-Task使用介绍
    目前springboot应用广泛,因此对于spring-task直接基于springboot框架介绍,不涉及xml配置。本文直接介绍spring-task的使用方法,涉及的相关基础知识不再赘述,请先阅读Timer和......
  • spring-boot 配置 swagger常见版本不匹配问题解决方案
    https://stackoverflow.com/questions/70036953/spring-boot-2-6-0-spring-fox-3-failed-to-start-bean-documentationpluginsboo一般出现在2.6.*的springboot版本,这里解......