Spring Transaction template 事务模板
2016-05-07 00:24
701 查看
/article/3724915.html
Nested:嵌套事务支持,使用PROPAGATION_NESTED指定,如果当前存在事务,则在嵌套事务内执行,如果当前不存在事务,则创建一个新的事务,嵌套事务使用数据库中的保存点来实现,即嵌套事务回滚不影响外部事务,但外部事务回滚将导致嵌套事务回滚
Nested和RequiresNew的区别:
1、 RequiresNew每次都创建新的独立的物理事务,而Nested只有一个物理事务;
2、 Nested嵌套事务回滚或提交不会导致外部事务回滚或提交,但外部事务回滚将导致嵌套事务回滚,而 RequiresNew由于都是全新的事务,所以之间是无关联的;
3、 Nested使用JDBC 3的保存点实现,即如果使用低版本驱动将导致不支持嵌套事务。
使用嵌套事务,必须确保具体事务管理器实现的nestedTransactionAllowed属性为true,否则不支持嵌套事务,如DataSourceTransactionManager默认支持,而HibernateTransactionManager默认不支持,需要我们来开启。
Nested:嵌套事务支持,使用PROPAGATION_NESTED指定,如果当前存在事务,则在嵌套事务内执行,如果当前不存在事务,则创建一个新的事务,嵌套事务使用数据库中的保存点来实现,即嵌套事务回滚不影响外部事务,但外部事务回滚将导致嵌套事务回滚
Nested和RequiresNew的区别:
1、 RequiresNew每次都创建新的独立的物理事务,而Nested只有一个物理事务;
2、 Nested嵌套事务回滚或提交不会导致外部事务回滚或提交,但外部事务回滚将导致嵌套事务回滚,而 RequiresNew由于都是全新的事务,所以之间是无关联的;
3、 Nested使用JDBC 3的保存点实现,即如果使用低版本驱动将导致不支持嵌套事务。
使用嵌套事务,必须确保具体事务管理器实现的nestedTransactionAllowed属性为true,否则不支持嵌套事务,如DataSourceTransactionManager默认支持,而HibernateTransactionManager默认不支持,需要我们来开启。
相关文章推荐
- SpringMVC实战(一)-快速入门
- Spring AOP原理
- Spring bean的初始化和销毁
- Spring bean的三种注入方式
- Spring bean的三种创建方式
- Spring 简介
- SpringMVC实现国际化(i18n)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- SpringMVC访问静态文件
- 深入理解Java的接口和抽象类
- 严重: Servlet.service() for servlet [spring] in context with path [/XX] threw exception [Request
- java8一句代码搞定基本类型数组转List
- MyEclipse的WEB项目到Eclipse的迁移
- java取整和java四舍五入方法
- struts-json简单小案例
- java路径问题
- spring中classpath与classpath*区别
- Java遍历文件夹
- 关于Java中的注解
- Java 基础 -1 - 内存管理之内存分配