`
wuguowei1314
  • 浏览: 130266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring事物中PROPAGATION_REQUIRED【转】

    博客分类:
  • java
 
阅读更多

事务传播行为种类

Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,

它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:

事务传播行为类型

事务传播行为类型

说明

PROPAGATION_REQUIRED

如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS

支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY

使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW

新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED

以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER

以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED

如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED 类 似的操作。

 

分享到:
评论

相关推荐

    Spring 事务配置的五种方式.docx

    Spring事务类型详解: PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_...

    Spring事务传播特性解析

    通过代码解析spring传播特性,包括 1、Propagation.REQUIRED 方法被调用时自动开启事务,在事务范围内使用... 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行。需要JDBC3.0以上支持。

    spring事物管理

    Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播 PROPAGATION_REQUIRED PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_...

    Spring框架+Spring中的事务

    Spring事务传播机制可以通过Propagation枚举类中的不同值来指定,共包括七种不同的传播行为。具体来说,Spring事务传播机制包括以下七种: REQUIRED:如果当前没有事务,则创建一个新的事务;如果当前已经存在事务,...

    Myeclipse6.0中SSH框架搭建

    -- 事务处理 --> class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 其它Bean定义在此 --> <!...

    一次性搞定数据库事务

    彻底搞清楚Spring事务的7种传播级别的原理和使用:PROPAGATION_REQUIRED、PROPAGATION_SUPPORTS、PROPAGATION_MANDATORY、PROPAGATION_REQUIRES_NEW、PROPAGATION_NOT_SUPPORTED、PROPAGATION_NEVER、PROP

    注入JdbcTemplate启用事务管理.docx

    @see Propagation#REQUIRED 支持当前事务,如果没有则新建一个事务, 例:a方法调用b方法,如果a方法有事务,则b加入a事务,如果a没有,则b新建一个事务 @see Propagation#SUPPORTS 支持当前事务,如果没有则以非...

    深入剖析Spring对Hibernate事务管理的核心原理

    问题提出:Spring对Hibernate有自动管理事务功能,业务类的方法调用DAO类...PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事物,如果已经存在一个事物中,加入到这个事物中,具体请查阅Spring的事物传播行为。

    Spring2.5和Hibernate3集成--学习spring aop ioc

    * spring的事务管理需要添加到业务逻辑上(事务边界的定义),不要回到Dao上 技术提示: 在编写经下代码时: *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" ...

    Spring + Hibernate + Struts 事务配置小例子(带提示框等小技巧)

    *">PROPAGATION_REQUIRED <!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性--> class="org.springframework.aop.framework.autoproxy....

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    spring applicationContext 配置文件

    *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" read-only="true"/> </tx:advice> <!-- 那些类的哪些方法参与事务 --> (* com.ccc..*.*(..))"/> <!-- 配置事务管理器,...

    spring-tx-xml-12.rar

    propagation 其他没有事务的业务方法调用的时候!我们如何进行事务传递! 默认值:required:调用者有 我就有!调用者没有我自己开启一个事务 也有! dml SUPPORTS:调用者有 我就有!调用者没有我也不添加! 适用于查询...

    springmvc-ibatis

    <beans xmlns="http://www.springframework.org/schema/beans" ... xmlns:context="http://www.springframework.org/schema/context"... *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> </beans>

    SSH第7章上机.zip ACCP8.0

    -- 创建事务管理器(spring针对hibernate实现的事务管理的切面类) --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <!-- 事务的通知类型 -...

    springmvcmybatis

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=... *" propagation="REQUIRED" read-only="true" /> *" propagation="REQUIRED" read-only="true" /> ...

    Maven拆分代码.zip

    --扫描接口包路径,生成包下所有接口的代理对象,并且放入spring容器中--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--dao层配置文件结束--> <!--service层配置文件开始--> ...

    ssh框架在application.xml中配置数据源所需jar

    *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" read-only="true"/> <!-- 那些类的哪些方法参与事务 --> (* com.longxian.drp.manager.*.*(..))...

    SpringMVC+Hibernate全注解整合

    *" propagation="REQUIRED" /> *" propagation="REQUIRED" /> <!-- 这个映射配置主要是用来进行静态资源的访问 --> **" location="/js/" cache-period="31556926"/> **" location="/resource/" />...

Global site tag (gtag.js) - Google Analytics