@transactional()里面怎么设置
时间: 2023-09-17 22:04:37 浏览: 57
@transactional()是Spring框架中的注解,用于开启事务管理。该注解可以放在方法上或类上。
在方法上使用@transactional()注解时,可以使用注解的属性来设置事务的属性。常用的属性包括:
1. isolation(隔离级别):使用isolation属性指定事务的隔离级别。可选值有DEFAULT(默认)、READ_UNCOMMITTED(读取未提交的数据)、READ_COMMITTED(读取已提交的数据)、REPEATABLE_READ(可重复读取的数据)和SERIALIZABLE(串行化的数据)。
2. propagation(传播行为):使用propagation属性指定事务的传播行为。可选值有REQUIRED(如果当前存在事务,就加入到当前事务,否则新建一个事务)、SUPPORTS(如果当前存在事务,就加入到当前事务,否则以非事务方式执行)、MANDATORY(如果当前存在事务,就加入到当前事务,否则抛出异常)、REQUIRES_NEW(暂停当前事务,新建一个事务)、NOT_SUPPORTED(以非事务方式执行操作,如果当前存在事务,则挂起当前事务)和NEVER(以非事务方式执行操作,如果当前存在事务,则抛出异常)。
3. readOnly(只读属性):使用readOnly属性指定事务是否为只读。默认为false,即读写操作都支持。如果设置为true,则只能进行读操作,对于写操作将抛出异常。
4. timeout(超时时间):使用timeout属性指定事务的超时时间,单位为秒。如果方法执行时间超过指定的超时时间,则事务会被回滚。
在类上使用@transactional()注解时,可以设置该类中所有方法的公共事务属性。如果某个方法已经使用了@transactional()注解,并且用来设置了事务的属性,则以方法上设置的事务属性为准。
例如,可以使用@transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED, readOnly = false, timeout = 60)来设置方法的隔离级别为已提交读、传播行为为支持当前事务、读写操作都支持、超时时间为60秒。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)