`
annan211
  • 浏览: 445614 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring 事务属性分类

 
阅读更多

  required 业务方法需要在一个事务中运行,如归哦方法运行时,已经处在一个事务中,那么加入到该事物,否则为自己创建一个新的事务。

  not_support 声明方法不需要事务,如果方法没有关联一个事务,容器不会为他开启事务,如果方法在一个事务中被调用,该事物会被挂起,在方法调用结束后,原先的事务便会恢复执行。

  requireshew  属性表明不管是否存在事务,业务方法总会为自己发起一个新的事务,如果方法已经在一个事务当中,则原有事务会被挂起,新的事务会被创建,直到方法执行结束,新事物才算结束,原先的事务才会被恢复执行。

  mandatory 该属性指定业务方法只能在一个已经存在的事务中执行,业务方法不能发起自己的事务,如果业务方法没有在事务的环境下调用,容器就会抛出例外。

  support 这一事务属性表明,如果业务方法在某个事务范围内被调用,则方法成为该事物的一部分。如果业务方法在事务范围外被调用,则方法在没有事务的环境下执行。

  naver 指定业务方法绝对不能在事务范围内执行,如果业务方法在某个事务中执行,容器会抛出例外,只有业务方法没有关联人和事务,才能正常执行。
 
  以上的事务传播属性 是 spring 借鉴 ejb 框架得来,下面一条是spring 特有的事务传播属性。

  nested  如果一个活动的事务存在,则运行子啊一个嵌套的事务中,如果没有活动的事务,则按照required属性执行,她使用了一个单独的事务,这个事务拥有多个可以回滚的保存点,内部事务的回滚不会对外部事务造成影响。她只会对DataSourceTransactionManager事务管理器起作用。


事务也可以设置 只读 和 超时 属性 或者 数据库的隔离级别属性。


 
    @Transactional(propagation=Propagation.NOT_SUPPORT,readOnly=true,)



  通常 读者看到的博客当中 所说的 事务隔离并没有很清楚的说明,这里所说的 spring 的事务隔离级别是指 数据库系统提供的 事务隔离级别。
 
  read uncommited 读取未提交数据(会出现脏读,不可重复读和幻读)
 
  read commited 读取已经提交的数据(会出现不可重复读和幻读)

  repeatable read 可重复读(会出现幻读)

  serializable 串行化

  serializable 的隔离级别最高,read Uncommited隔离级别最低,大部分数据库的隔离级别是 read commited .隔离级别越高,对并发的影响越大。
分享到:
评论

相关推荐

    基于SSH模拟当当网项目(电子商务平台)

    5.将事务管理交个Spring,采用AOP方式,删除原有Struts事务拦截器 -------------改造步骤----------------- 例如用户注册功能 1) 引入Hibernate开发包 2) 引入Spring开发包和配置文件 applicationContext-base....

    Java语言基础下载

    目录 第一章:Java开始 1 学习目标 1 Java历史 2 Java技术概述 3 Java技术的优点 3 Java虚拟机 4 类加载器 6 ...Spring事务管理 718 Spring与Struts整合 719 Spring与Hibernate整合 721 独立实践 724

    低清版 大型门户网站是这样炼成的.pdf

    6.3.1 spring 2.5的声明式事务管理 394 6.3.2 基于xml方式的事务管理配置 396 6.3.3 基于annotation方式的事务管理配置 400 6.4 “桃园三结义”——ssh 2组合开发框架始成 404 6.4.1 spring 2.5集成orm中间件...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    4.3.2 事务属性 199 4.4 EJB的事务管理 201 4.4.1 容器管理事务(CMT) 201 4.4.2 Bean管理事务(BMT) 201 4.5 事务超时设置 201 4.6 本章小结 203 第5章 JNDI和远程方法调用 204 5.1 JNDI的概念 205 5.1.1 命名服务 ...

    乐优商城.xmind

    自动纳入 Spring 的事务管理 使用默认配置,抛出异常之后,事务会自动回滚,数据不会插入到数据库。 setId(null) insert(brand) 新增中间表 mapper @Insert (#{cid},#{bid}) @Param 表示给参数命名,名称...

    J2EE应用开发详解

    164 第10章 JavaBean 165 10.1 JavaBean简介 165 10.1.1 JavaBean的特点 166 10.1.2 JavaBean的元素及属性 167 10.1.3 JavaBean的分类 168 10.2 创建JavaBean 168 10.2.1 JavaBean的规格说明 168 10.2.2 创建一个...

    java面试题

    73.8. transaction有那几种实现(事务处理)(Spring) 79 73.9. Spring IoC 79 73.10. Spring AOP面向方面编程 82 74. 项目中为什么使用SSH 85 75. Spring在SSH中的作用 86 76. weblogic 86 76.1. 如何给weblogic指定...

    Javashop开发规范V2.2

    Javashop开发规范V2.2 版本 说明 提交人 ...2.在spring文件中声明parent为baseSupport 3.通过this.baseDaoSupport操作数据库 实际使用的是:com.enation.eop.sdk.database.BaseJdbcDaoSupport 此种操作示例: ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...

    cms后台管理

    一 Jeecms安装过程 将解压后得到的jeecms-...<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="freemarkerVariables"> <map> …… ...

    asp.net知识库

    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics