事务的传播机制以及对应的使用场景
时间: 2023-05-11 13:05:55 浏览: 126
事务的传播机制是指在多个数据库操作中,事务的执行方式和影响范围。常见的事务传播机制有以下几种:
1. PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。
2. PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
3. PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。
4. PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
5. PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
6. PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
7. PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则新建一个事务。
使用场景:
1. PROPAGATION_REQUIRED:适用于大多数业务场景,保证数据的一致性。
2. PROPAGATION_SUPPORTS:适用于只读操作,不需要事务的场景。
3. PROPAGATION_MANDATORY:适用于必须在事务中执行的场景,比如在一个事务中调用另一个需要事务的方法。
4. PROPAGATION_REQUIRES_NEW:适用于需要独立事务的场景,比如在一个事务中调用一个需要回滚的方法。
5. PROPAGATION_NOT_SUPPORTED:适用于不需要事务的场景,比如查询操作。
6. PROPAGATION_NEVER:适用于不允许在事务中执行的场景,比如在一个事务中调用一个不需要事务的方法。
7. PROPAGATION_NESTED:适用于需要嵌套事务的场景,比如在一个事务中调用一个需要回滚的方法。
阅读全文