`
jakoes
  • 浏览: 69012 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用@Transactional时候的注意点

 
阅读更多
使用@Transactional时候的注意点:
1.确认有如下配置:<tx:annotation-driven transaction-manager="transactionManager"/>
2.readOnly能不用就不能
3.嵌套事务中尽量少用REQUIRED_NEW,除非某些操作无论如何都要持久化
4.只有uncheck exception才会使事务回滚,checked exception不会使用回滚。如果要在checked exception中让事务回滚,则有如下方法:
  a)在属性rollbackFor中增加unchecked exception,如:@Transactional(rollbackFor={Exception.class})
  b)手工把checked exception默译成unchecked exception
分享到:
评论

相关推荐

    spring @Transactional 无效的解决方案

    Spring框架中的@Transactional注解是用来实现事务管理的,但是有时候我们可能会遇到@Transactional注解无效的情况。在这篇文章中,我们将 introducethe 解决方案,并通过示例代码对其进行详细的介绍。 首先,让我们...

    Spring源码学习十二:@Transactional是如何工作的1

    这 里要注意的是,newProxyInstance 方法的最后一个参数是 JdkDynamicAopProxy 类本身,也就是说,在对目标类进行调用的时候,会进入 JdkDynamicAopProxy 的 invoke 方法。这 里只关注 JdkDynamicAopProxy 的 invoke...

    浅谈SpringBoot之事务处理机制

    需要特别注意的是,此@Transactional注解来自org.springframework.transaction.annotation包,而不是javax.transaction。Spring提供了一个@EnableTransactionManagement注解在配置类上来开启声明式事务的支持。 ...

    SpringBoot-Mybatis处理事务

    需要注意的是,`@Transactional`注解只有在Spring的bean方法上才能生效。如果需要在非bean方法中使用事务,可以将这个方法包装到一个bean方法内,或者使用Spring AOP自定义切面来处理。 此外,SpringBoot还提供了对...

    Spring事务传播机制.docx

    这里是事务异常回滚的地方,这里有个注意点是回滚会先用 rollbackOn 这个方法判断,默认情况下只有 RunTimeException 及 Error 是会进行回滚的,除非在@Transactional 显式声明了 rollbackFor。 二、Spring 的事务...

    集成spring的hibernate懒加载

    7. **使用`@Transactional(readOnly = true)`**:对于只读操作,可以使用只读事务,这样即使在Session关闭后,仍能安全地访问懒加载属性,因为只读事务不会开启二级缓存。 在实际项目中,选择合适的策略需要综合...

    spring事务管理

    通过在方法级别使用`@Transactional`注解,Spring AOP代理会在适当的时候自动处理事务的开启、提交、回滚。这种方式更加简洁,降低了代码的复杂性。然而,它对异常处理有特定的要求,只有未捕获的运行时异常才会导致...

    JPA Best Practices

    在需要的时候使用急加载(`EAGER`),但要谨慎,因为这可能会增加内存消耗。 ### 5. 正确处理空值 对于可为null的属性,明确指定`@Column(nullable = false)`来限制数据库中的非空约束。同时,合理使用`Optional` ...

    Spring中DAO被循环调用的时候数据不实时更新的解决方法

    尽管这不是针对Spring事务问题的解决方案,但应该注意避免无限循环,因为这会消耗大量资源。在`checkUserInfo`方法中,如果条件判断有误,可能会导致循环无法终止,即使解决了数据更新问题,程序也可能陷入死循环。...

    Spring里的Async注解实现异步操作的方法步骤

    Spring里的Async注解实现异步操作的方法步骤 在 Spring 框架中,Async 注解是一个非常重要的功能,它可以帮助我们实现异步操作,...但是,我们需要注意在使用 @Async 注解时,需要正确地配置和使用它,以免出现问题。

    day36 11-Hibernate中的事务:当前线程中的session

    此外,对于Spring框架的用户,可以结合Hibernate和Spring的事务管理,使用`PlatformTransactionManager`接口和`@Transactional`注解进行声明式事务管理,这样可以进一步简化代码并提高可维护性。 总的来说,理解并...

    乐优商城.xmind

    注意 Bule_bird 就必须写成 BlueBird Brand 查询 实体类 PageResult 响应结果 分页结果一般至少需要两个数据 总条数 total 当前页数据 items 有些还需要总页数 总页数 totalPage Controller @...

    SSH框架面试题.pdf

    例如,可以在Struts的Action层中使用`@Transactional`注解来声明事务边界,或者通过Spring的`&lt;tx:method&gt;`配置来控制事务。 40. **在SSH环境中用Spring代替Struts的ActionServlet的优势是什么?** 使用Spring可以...

    typeorm-test-transactions:使用TypeORM每次测试完成后自动回滚数据库更改

    TypeORM测试事务 您是否要在直接在数据库上并行使用TypeORM的项目上运行测试? 很多时候我们无法做到这一点,因为来自其他测试的伪像和数据会影响我们当前测试的结果...它已经到了我的注意,如果你使用这个库并不一致T

    企业级数据库实验习题2(答案)借鉴参考.pdf

    16. 删除用户:系统管理员可以在任何时候删除用户,但需要注意对数据库的影响。 17. 监听器默认端口:默认监听器端口是1521,不是1421。 18. PRIMARY KEY约束:定义主键会自动生成唯一索引。 19. 系统表空间切换...

    Win7系统装MySQL5.5.27图解

    设置 mysql 要使用的字符编码,第一个是西文编码,第二个是多字节的通用 utf8 编码,第三个是手动,我们选择 utf-8,如果在这里没有选择 UTF-8 这个编码的化,在使用 JDBC 连接数据库的时候,便会出现乱码,到那时...

    mysql5.5.6安装教程及安装包.rar

    10、在出现的配置界面中选择mysql数据库的用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(服务器类型)”、“Non-Transactional Database Only(非事务处理型)”,这里我...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     事务控制语言(Transactional Control Language,TCL),用于维护数据的一致性,包括COMMIT(提交事务)、ROLLBACK(回滚事务)和SAVEPOINT(设置保存点)3条语句 二、 Oracle的数据类型 类型 参数 描述 字符类型...

Global site tag (gtag.js) - Google Analytics