java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > @Transactional注解引起的事务回滚问题

Junit单元测试关于@Transactional注解引起的事务回滚问题

作者:依然耀眼

这篇文章主要介绍了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)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文