事务的特性:原子性,持久性,隔离性,一致性
隔离级别(从低到高): 效果
读未提交, 不能防止 脏读 ,幻读, 不可重复读
读已提交 能防止 脏读 不能防止 幻读, 不可重复读
,可重复读, 能防止 脏读 ,,不可重复读 不能防止 幻读,
串行化 能防止 脏读 , ,不可重复读 , 幻读,
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Transactional {
@AliasFor("transactionManager")
String value() default "";
@AliasFor("value")
String transactionManager() default "";
String[] label() default {};
Propagation propagation() default Propagation.REQUIRED; //传播方式
Isolation isolation() default Isolation.DEFAULT; //隔离级别
// 隔离级别的枚举类
public enum Isolation {
DEFAULT(-1),
READ_UNCOMMITTED(1),
READ_COMMITTED(2),
REPEATABLE_READ(4),
SERIALIZABLE(8);
private final int value;
private Isolation(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}
使用方式:
public interface UsersDao {
@Transactional(isolation= Isolation.DEFAULT,propagation= Propagation.REQUIRED)
List<Users> findAll();}
原文:https://www.cnblogs.com/yuandodo/p/14013378.html