spring关于“transactionAttributes”的相关配置



<bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" 

lazy-init="true" abstract="true"> 

<property name="transactionManager"> 

<ref bean="transactionManager" /> 

</property> 

<property name="transactionAttributes"> 

<props> 

<prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop> 

<prop key="update*">PROPAGATION_REQUIRED,-Exception</prop> 

<prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop> 

<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> 

<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> 

</props> 

</property> 

</bean>  





PROPAGATION_REQUIRED--支持当前事务。假设当前没有事务,就新建一个事务。这是最常见的选择。 

PROPAGATION_SUPPORTS--支持当前事务。假设当前没有事务,就以非事务方式运行。 

PROPAGATION_MANDATORY--支持当前事务,假设当前没有事务。就抛出异常。 

PROPAGATION_REQUIRES_NEW--新建事务。假设当前存在事务。把当前事务挂起。

PROPAGATION_NOT_SUPPORTED--以非事务方式运行操作,假设当前存在事务。就把当前事务挂起。 

PROPAGATION_NEVER--以非事务方式运行,假设当前存在事务,则抛出异常。 

PROPAGATION_NESTED--假设当前存在事务。则在嵌套事务内运行。假设当前没有事务。则进行与PROPAGATION_REQUIRED类似的操作。提高SQL语句查询速度的方法

当前全部的事务都使用“PROPAGATION_REQUIRED”属性值。而且控制事务的操作权限为仅仅读,以保证查询时不会更新数据。

依据上述 定义 “PROPAGATION_REQUIRED”属性会造成为全部的操作都创建事务。从而会出现JPA的日志中查询时也会进行更新操作的现象,也就造成了效 率的低下。

将全部查询的操作改成事务类型为“PROPAGATION_NEVER”(不使用事务),则查询效率马上提升,

可是此时操心一个问题:比方在一 个saveXXX()的方法中。假设方法内部使用更新、查询、再更新的操作流程,会不会造成调用查询时。因为上述配置造成的抛出异常。 





另外 

-Exception表示有Exception抛出时,事务回滚. -代表回滚      +就代表提交 

readonly 就是read only, 设置操作权限为仅仅读,一般用于查询的方法,优化作用.

spring关于“transactionAttributes”的相关配置的更多相关文章

  1. Spring Boot入门——web相关配置

    1.Servlet 引用HttpServlet接口,采用原生的Servlet进行请求响应 2.Listener 引用ServletContextListener,常用于Web缓存 3.Filter 引 ...

  2. spring boot web相关配置

    spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何web相关的配置便能提供web服务,这还得归于spri ...

  3. 转-spring boot web相关配置

    spring boot web相关配置 80436 spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何w ...

  4. spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

    spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ ...

  5. 【转】spring boot web相关配置

    spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何web相关的配置便能提供web服务,这还得归于spri ...

  6. Spring学习笔记(二)——Spring相关配置&属性注入&Junit整合

    一.Spring的相关配置 1.1 Bean元素 class属性:被管理对象的完整类名 name属性:给Bean起个名字,能重复,能使用特殊字符.后来属性 id属性:给Bean起个名字,不能重复,不能 ...

  7. 【spring boot logback】日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么

    本篇 将针对[日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么]这一个主题进行探索. 这个测试项目是根据[spr ...

  8. Spring Bean相关配置

    Bean相关配置 1.名称与标识 id 使用了约束中的唯一约束.里面不能出现特殊字符的 name 没有使用约束中的唯一约束.里面可以出现特殊字符. 设置对象的生命周期方法 init-method Be ...

  9. Spring注入方式及注解配置

    一:基于xml的DI(Dependency Injection) 注入类型: 定义学生Student实体类和小汽车Car实体类:进行封装和生成ToString(),并自定义属性Car Student ...

随机推荐

  1. pku,杨建武:文本挖掘技术

    http://webkdd.org/course/ http://www.icst.pku.edu.cn/lcwm/course/WebDataMining/ http://www.icst.pku. ...

  2. sencha touch 2 tabpanel中List的不显示问题,解决方案

    笔者在做sencha项目的时候碰到一个需求,就是"好友列表"中分为"未确认好友"和"已确认好友",两个都是一个list,自然想到的就是使用t ...

  3. UVa 1393 (容斥原理、GCD) Highways

    题意: 给出一个n行m列的点阵,求共有多少条非水平非竖直线至少经过其中两点. 分析: 首先说紫书上的思路,编程较简单且容易理解.由于对称性,所以只统计“\”这种线型的,最后乘2即是答案. 枚举斜线包围 ...

  4. String中intern的方法

    首先查看官方API那个的解释: ——————————————————————————————————————— intern public String intern() 返回字符串对象的规范化表示形 ...

  5. ubuntu桌面右上角键盘图标不见解决方法

    今天出现了这个问题,桌面右上角的键盘图标不见,找到解决方法如下: 打开终端,分别输入以下命令即可: killall ibus-daemon 这个表示结束进程 ibus-daemon -d 这个表示重启 ...

  6. Spring--通过注解来配置bean

    Spring通过注解配置bean 基于注解配置bean 基于注解来配置bean的属性 在classpath中扫描组件 组件扫描(component scanning):Spring能够从classpa ...

  7. ramdisk作为根文件系统的配置

    ramdisk作为根文件系统的配置 http://wenku.baidu.com/link?url=oKj45hKtIANfoVzmoFAmWEvESHiqgWysxPASelpzaXk35gWb1I ...

  8. Kettle简介

    ETL和Kettle简介     ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它是构建数据仓库的重要环节.数据仓库是面向主题的.集成的.稳定的且随时间不断变 ...

  9. 《Python基础教程(第二版)》学习笔记 -> 第三章 使用字符串

    本章讲话介绍如何使用字符串格式化其他的值,并简单了解一下利用字符串的分割.联接.搜索等方法能做些什么. 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最大最小值)对字符 ...

  10. Hdu oj 5522 Numbers 之解题报告

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABCwAAAL7CAIAAAC5m4NqAAAgAElEQVR4nOy9e7QdVZUvXH+RMcJVdJ