@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
时间: 2023-11-11 17:45:11 浏览: 157
这段代码使用了@Transactional注解,并设置了以下属性:
- propagation属性设置为SUPPORTS,表示如果当前没有事务,就以非事务方式执行;如果当前存在事务,则加入当前事务中。
- readOnly属性设置为true,表示该方法只读,不会对数据库进行修改操作。
- rollbackFor属性设置为Exception.class,表示如果发生Exception及其子类的异常,则回滚事务。
请问还有什么其他问题吗?
相关问题
@Transactional(readOnly=true, propagation=Propagation.SUPPORTS)
@Transactional(readOnly=true, propagation=Propagation.SUPPORTS) 是一个用于事务管理的注解。它指示方法是只读的,并且在调用该方法时,如果事务存在,则支持该事务的传播。这意味着如果当前存在一个事务,则该方法会在该事务中运行;如果没有事务,则该方法会以非事务方式运行。
@Transactional属性详解
@Transactional是Spring框架中的一个注解,用于控制事务的提交和回滚。使用@Transactional注解可以使方法具有原子性,即要么全部执行成功,要么全部执行失败。
@Transactional注解可以应用在类级别和方法级别上,其属性如下:
1. propagation:事务的传播行为,默认值为REQUIRED。常用的取值有:
- REQUIRED:如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。
- REQUIRES_NEW:创建一个新的事务,并且暂停当前事务(如果存在)。
- SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。
- NOT_SUPPORTED:以非事务的方式运行,如果当前存在事务,则将事务挂起。
- MANDATORY:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。
- NEVER:以非事务的方式运行,如果当前存在事务,则抛出异常。
- NESTED:如果当前存在事务,则在嵌套事务内执行;如果当前没有事务,则创建一个新的事务。
2. isolation:事务的隔离级别,默认值为DEFAULT。常用的取值有:
- DEFAULT:使用数据库默认的隔离级别。
- READ_UNCOMMITTED:允许脏读,未提交的数据可以被其他事务读取。
- READ_COMMITTED:不允许脏读,读取的数据是已经提交的数据。
- REPEATABLE_READ:保证可重复读,即在一个事务中多次读取同一数据时,其值不会发生变化。
- SERIALIZABLE:最高的隔离级别,保证所有事务按照顺序依次执行。
3. timeout:事务的超时时间,默认值为-1,表示不超时。单位为秒。
4. readOnly:设置事务为只读模式,默认值为false。
5. rollbackFor:指定需要回滚的异常类型,多个异常类型可以用逗号分隔。
6. noRollbackFor:指定不需要回滚的异常类型,多个异常类型可以用逗号分隔。
7. value:可以用来覆盖类级别的@Transactional注解中的属性。例如,在类级别的@Transactional注解中指定了propagation=REQUIRED,而在方法级别的@Transactional注解中指定了propagation=REQUIRES_NEW,则方法级别的注解会覆盖类级别的注解。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)