@Transactional在@Test自动回滚
结论:在JUnit的@Test函数上使用事务注解@Transactional时,函数无论抛异常与否,均会自动回滚。
因此,在测试@Transactional的时候,不推荐@Test测试。
- Tips:有部分开发者推荐以下的两种不正确的解决方式,虽然可以使得@Transactional能够在@Test下将数据提交到数据库,但:它们均会无视异常,失去事务的意义,均不可取。
// 主动提交
@Transactional
@Commit
@Test
public void test(){
// ...
}
// 不回滚
@Transactional
@Rollback(false)
@Test
public void test(){
// ...
}