@Transactional(rollbackFor =Throwable.class )
时间: 2023-12-05 16:38:46 浏览: 76
Spring @Transactional工作原理详解
`@Transactional(rollbackFor = Throwable.class)`是一个注解,用于在Spring事务管理中指定回滚策略。在这个注解中,`rollbackFor`属性指定了哪些异常会触发事务回滚,`Throwable.class`表示所有异常都会触发回滚。
以下是一个使用`@Transactional(rollbackFor = Throwable.class)`的例子:
```java
@Transactional(rollbackFor = Throwable.class)
public void updateUserInfo(User user) {
userDao.update(user);
if (user.getAge() < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}
}
```
在这个例子中,如果更新用户信息时出现异常,事务会回滚。同时,如果用户的年龄小于0,也会抛出一个`IllegalArgumentException`异常,这个异常也会触发事务回滚。
阅读全文