Junit单元测试关于@Transactional注解引起的事务回滚问题
@Transactional注解引起的事务回滚问题
Junit单元测试时,在测试方法中打事务注解@Transactional,默认会按照@Rollback(true)来进行处理,即使在没加注解@Rollback,也会对事务回滚
@Test
@Transactional
public void test01(){
}Junit单元测试时,测试方法上加注解@Transactional
事务不回滚的解决办法
方法1:
测试方法上在注解@Transactional的基础上,加注解@Rollback(value = false)
@Test
@Transactional
@Rollback(value = false)
public void test01(){
}方法2:
测试方法上在注解@Transactional的基础上,加注解@Commit
@Test
@Transactional
@Commit
public void test01(){
}单元测试@TransActional注解注意点
单元测试@TransActional注解会自动回滚
它会自动带有@Rollback(true)
如果需要修改数据库就不要使用@TransActional注解或者添加@Rollback(flase)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java使用JavaMail API实现原生邮箱发送功能的方法
文章介绍了如何使用JavaMailAPI在Java后端实现原生邮箱发送功能,包括配置邮件服务器、获取校验码以及解决SSL握手异常的问题,需要的朋友可以参考下2026-02-02
Spring Boot整合Elasticsearch实现全文搜索引擎案例解析
ElasticSearch作为基于Lucene的搜索服务器,既可以作为一个独立的服务部署,也可以签入Web应用中。SpringBoot作为Spring家族的全新框架,使得使用SpringBoot开发Spring应用变得非常简单,在本案例中我们给大家介绍Spring Boot整合Elasticsearch实现全文搜索引擎2017-11-11
Java如何利用CompletableFuture描述任务之间的关系
Java如何根据线程的执行结果执行下一步动作呢,Future的另一个实现类CompletableFuture能够优雅的解决异步化问题,下面就跟随小编一起了解一下吧2023-07-07


最新评论