spring中的@Transaction配置详解
1、Spring默认Transactional事物管理机制
如果程序抛出的是运行期例外,则数据回滚 事物处理
如果是运行Exception例外,则数据不会滚。
可以通过配置修改该规则
@Transactional(noRollbackFor=RuntimeException.class)方法事物说明
@Transactional(RollbackFor=Exception.clas)
@Transactional(readyOnly=true)
@Transactional(timeout=100)默认30
@Transactional(isolation)数据库的隔离级别
{
Read Uncommited:读取未提交的数据(会出现脏读 不可重复读 幻读)
Read Commited:读已提交的数据(会出现不可重复读和幻读)
Repeatable Read:可重复读(会出现幻读)
Serializable:串行化
}
脏读:一个事务读取到另外一个事务未提交的更新的数据
不可重复读:在同一个事务中,多次读取同一个数据返回结果有所不同,就是后续的读取可以读到另外一个事务的已经提交的更新数据
可重复读:在同一个事务多次读取数据时,能够保证所读取的数据一样,也就是后读取的不能读到另外一个事务已经提交的数据
幻读: 一个事务读取到另外一个事务已经提交的更新的数据
针对查询方法
@Transactional(propagation=Propagation.NOT_SUPPORTED)针对某个方法不开启事务
@Transactional(propagation=Propagation.REQUIRED)spring默认的事务支持
Propagation参数解析
1、REQUIRED:业务方法需要在一个事务中运行。如果方法运行中,已经处在一个事务中,那么加入到该事务,否则为自己创建一个新的事务。
2、NOT_SUPPORIED:声明方法不需要事务。如果方法没有关联到一个事务,容器不会为它开启事务。如果方法在一个事务中被调用,该事务会被挂起,在方法调用结束后,原先的事务便会恢复执行。
3、REQUIRES_NEW:属性表明不管是否存在事务,业务方法总会为自己发起一个新的事务。如果方法已经运行在一个事务中,则原有事务会被挂起, 新的事务会被创建,直到方法执行结束,新事务才算结束,原先的事务才会恢复执行。
4、MANDA
分享到:
相关推荐
学习J2EE框架,可以从MLDN_J2EE框架_笔记开始,这份资料可能涵盖了上述各种框架的基本概念、使用方法和最佳实践。同时,结合实际项目练习,可以更好地掌握这些框架的精髓,提升开发技能。 总结,J2EE框架提供了丰富...
### Spring 使用 JPA 的知识点详解 #### 一、Spring与JPA简介 Spring框架与Java Persistence API (JPA)的结合使用是当前企业级应用开发中的常见实践之一。Spring为JPA提供了很好的集成支持,使得开发者能够更加...
11. **Spring与MyBatis整合**:在实际开发中,MyBatis常与Spring框架结合使用,通过Spring的Dependency Injection(DI)和Transaction Management(TM)功能,简化MyBatis的使用和事务管理。 12. **MyBatis Plus**...
### Java学习笔记知识点详解 #### 一、Java基础知识概述 Java是一种广泛使用的面向对象的编程语言,具有简单性、面向对象、健壮性、安全性、平台独立性、可移植性等特点。Java的基本知识包括以下几个方面: 1. **...
笔记可能涉及了ORM(对象关系映射)概念、配置文件、实体类的定义、Session和Transaction管理、HQL(Hibernate查询语言)以及一对多、多对一、一对一等关联映射的实现。 4. **Spring笔记.doc**: Spring框架是J2EE...
本学习笔记将深入探讨 Hibernate 的核心概念、配置、实体映射、查询方式以及在实际开发中的应用。 ### 1. Hibernate 概述 Hibernate 提供了一个数据持久化的框架,它将 Java 对象与数据库表进行映射,使得开发人员...
### Java框架部分SSM笔记详解 #### Spring框架详解 **Spring框架**是Java开发领域内极为重要的一个轻量级框架,旨在简化企业级应用程序的开发流程,并提高代码的可维护性和扩展性。Spring的核心特性包括依赖注入...
SpringCloud Alibaba是阿里巴巴提供的微服务解决方案,它包含了一系列在分布式系统开发中常用的服务治理组件,如服务注册与发现、配置中心、熔断器、负载均衡、消息队列等。这门2020年的课程旨在帮助开发者从零基础...
**J2EE框架详解** ...以上就是J2EE框架的学习笔记概要,深入理解和熟练运用这三个框架,将有助于提升Java企业级应用的开发能力。在学习过程中,建议结合实际项目实践,以便更好地理解和掌握这些技术。
【JavaEE技术体系详解】 JavaEE(Java Platform, Enterprise ...达内培训笔记涵盖了这些JavaEE的重要概念和技术,对于初学者和进阶开发者都是宝贵的学习资料,通过深入学习和实践,可以掌握企业级应用开发的关键技能。
《Hibernate项目笔记详解》 Hibernate,作为Java领域中的一款强大持久化框架,是ORM(对象关系映射)的杰出代表,它极大地简化了数据库与Java对象之间的交互。本笔记将深入探讨Hibernate的核心概念、配置、操作以及...
**J2EE框架详解** J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级分布式应用程序的框架。它提供了一系列服务、APIs和协议,旨在简化开发、部署和管理大型企业应用的过程。J2EE框架...
"源码"和"工具"这两个标签暗示了笔记可能包括了对Hibernate源代码的分析以及如何将其作为一个工具在项目中应用。源码分析可能涉及了Hibernate的工作原理、关键类的解释,而“工具”则可能涵盖了配置、集成和调试等...