@Transactional(readOnly=true, propagation=Propagation.SUPPORTS)
时间: 2024-06-09 14:10:16 浏览: 215
@Transactional(readOnly=true, propagation=Propagation.SUPPORTS) 是一个用于事务管理的注解。它指示方法是只读的,并且在调用该方法时,如果事务存在,则支持该事务的传播。这意味着如果当前存在一个事务,则该方法会在该事务中运行;如果没有事务,则该方法会以非事务方式运行。
相关问题
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
这段代码使用了@Transactional注解,并设置了以下属性:
- propagation属性设置为SUPPORTS,表示如果当前没有事务,就以非事务方式执行;如果当前存在事务,则加入当前事务中。
- readOnly属性设置为true,表示该方法只读,不会对数据库进行修改操作。
- rollbackFor属性设置为Exception.class,表示如果发生Exception及其子类的异常,则回滚事务。
请问还有什么其他问题吗?
@transactional参数设置
@Transaction注解的参数设置可以包括以下内容:
1. isolation(隔离级别):设置事务的隔离级别,可以使用Isolation枚举类中的常量,如DEFAULT、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ和SERIALIZABLE。
2. propagation(传播行为):设置事务的传播行为,可以使用Propagation枚举类中的常量,如REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED。
3. timeout(超时时间):设置事务的超时时间,单位为秒。
4. readOnly(只读事务):设置事务是否只读,如果设置为true,则只能执行查询操作,不能执行增删改操作。
5. rollbackFor(回滚异常):设置需要进行事务回滚的异常类型数组。
6. noRollbackFor(不回滚异常):设置不需要进行事务回滚的异常类型数组。
阅读全文