1.@EnableTransactionManagement
image.png
3.添加后 报错默认添加事务回滚
image.png 4。 image.png
-
@Transactional(timeout = 3) 超时设置和报错
image.png - 设置回滚异常 @Transactional(rollbackFor = Exception.class)
解决io 报错不会滚的问题
image.png
image.png
/**
* timeout设置事务超时时间,单位秒! 默认: -1 永不超时,不限制事务时间!
* rollbackFor = 指定哪些异常才会回滚,默认是 RuntimeException and Error 异常方可回滚!
* noRollbackFor = 指定哪些异常不会回滚, 默认没有指定,如果指定,应该在rollbackFor的范围内!
* isolation = 设置事务的隔离级别,mysql默认是repeatable read! 事物隔离 解释看理解
* propagation = Propagation.REQUIRED 事务传播
*/
@Transactional(readOnly = false,
timeout = 3,
rollbackFor = Exception.class,
noRollbackFor = FileNotFoundException.class,
isolation = Isolation.REPEATABLE_READ)
image.png
网友评论