@Transactional注解可配置的参数信息
时间: 2023-11-21 17:54:42 浏览: 127
@Transactional注解可配置的参数信息包括:
1. propagation:控制事务的传播行为,默认值为REQUIRED。
2. isolation:控制事务的隔离级别,默认值为DEFAULT。
3. readOnly:设置事务是否为只读事务,默认值为false。
4. timeout:设置事务的超时时间,默认值为-1,表示使用后端数据库的默认超时时间。
5. rollbackFor:设置哪些异常会触发事务回滚。
6. noRollbackFor:设置哪些异常不会触发事务回滚。
相关问题
@Transactional注解的各个参数怎么使用
@Transactional注解的各个参数用于配置事务的行为和属性。以下是常用的@Transactional注解的参数及其使用方法:
1. propagation:用于指定事务的传播行为,默认值为REQUIRED。常用的取值包括:
- REQUIRED:如果当前存在事务,则加入该事务,如果不存在事务,则创建一个新的事务。
- REQUIRES_NEW:创建一个新的事务,并挂起当前事务(如果存在)。
- SUPPORTS:如果当前存在事务,则加入该事务,如果不存在事务,则以非事务方式执行。
- NOT_SUPPORTED:以非事务方式执行,如果当前存在事务,则将其挂起。
2. isolation:用于指定事务的隔离级别,默认值为DEFAULT。常用的取值包括:
- DEFAULT:使用数据库默认的隔离级别。
- READ_UNCOMMITTED:允许脏读、不可重复读和幻读。
- READ_COMMITTED:禁止脏读,但允许不可重复读和幻读。
- REPEATABLE_READ:禁止脏读和不可重复读,但允许幻读。
- SERIALIZABLE:禁止脏读、不可重复读和幻读。
3. timeout:用于指定事务的超时时间,默认值为-1,表示不设置超时时间。单位为秒,如果超过指定时间仍未完成,则事务会被回滚。
4. readOnly:用于指定是否将事务标记为只读,默认值为false。如果设置为true,表示事务只读,不会对数据库进行修改操作。
5. rollbackFor:用于指定哪些异常触发事务回滚,默认为空。可以指定具体的异常类或其父类。
6. noRollbackFor:用于指定哪些异常不触发事务回滚,默认为空。可以指定具体的异常类或其父类。
使用方式如下:
```java
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 10, readOnly = false, rollbackFor = Exception.class)
public void transactionalMethod() {
// 事务方法的逻辑
}
```
以上是常用的@Transactional注解的参数及其使用方法,根据实际需求选择合适的参数配置。
@transactional注解的参数
回答: @Transactional 注解的参数包括 propagation 和 rollbackFor。其中,propagation用于设置事务的传播行为,而rollbackFor用于设置需要回滚的异常类型。@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上,但仅仅 @Transactional 注解的出现不足于开启事务行为,它仅仅是一种元数据,能够被可以识别 @Transactional 注解和适当配置的具有事务行为的beans所使用。需要注意的是,@Transactional 注解应该只被应用到 public 可见度的方法上,如果在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错,但是被注解的方法将不会展示已配置的事务设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【事务】@Transactional 注解参数详解](https://blog.csdn.net/u011397981/article/details/130954236)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Spring声明式事务@Transactional 注解参数详解](https://blog.csdn.net/qq_42239765/article/details/102680351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文