隔离等级 | 描述 |
TransactionDefinition.ISOLATION_DEFAULT | 默认隔离等级 |
TransactionDefinition.ISOLATION_READ_UNCOMMITTED | 最低隔离等级,仅仅保证了读取过程中不会读取到非法数据 |
TransactionDefinition.ISOLATION_READ_COMMITTED | 某些数据库的默认隔离等级;保证了一个事务不会读到另外一个并行事务已修改但未提交的数据 |
TransactionDefinition.ISOLATION_REPEATABLE_READ | 比上一个更加严格的隔离等级。保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据 |
TransactionDefinition.ISOLATION_SERIALIZABLE | 性能代价最为昂贵,最可靠的隔离等级。所有事务都严格隔离,可视为各事务顺序执行 |
传播途径(Propagation Behavior)
Propagation Behavior | 描述 |
TransactionDefinition.PROPAGATION_REQUIRED | 支持现有事务。如果没有则创建一个事务 |
TransactionDefinition.PROPAGATION_SUPPORTS | 支持现有事务。如果没有则以非事务状态运行。 |
TransactionDefinition.PROPAGATION_MANDATORY | 支持现有事务。如果没有则抛出异常。 |
TransactionDefinition.PROPAGATION_REQUIRES_NEW | 总是发起一个新事务。如果当前已存在一个事务,则将其挂起。 |
TransactionDefinition.PROPAGATION_NOT_SUPPORTED | 不支持事务,总是以非事务状态运行,如果当前存在一个事务,则将其挂起。 |
TransactionDefinition.PROPAGATION_NEVER | 不支持事务,总是以非事务状态运行,如果当前存在一个事务,则抛出异常。 |
TransactionDefinition.PROPAGATION_NESTED | 如果当前已经存在一个事务,则以嵌套事务的方式运行,如果当前没有事务,则以默认方式(第一个)执行 |