isolation设定事物的隔离级别,事物管理器根据它来控制另外一个事物可以看到本事物内的哪些数据。
DEFAULT:默认的隔离级别,使用数据库默认的事物隔离级别。
READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事物读取。另外一个数据不能读取该事务未提交的数据。这种事物隔离级别可以避免脏读出现,但是可能会出现不可重复读和幻像读。
READ_UNCOMMITTED:这是事物最低的隔离级别,它冲许别外一个事物可以看到这个事物未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。
REPEATABLE_READ:这种事物隔离级别可以防止脏读,不可重复读,但是可能会出现幻像读。它除了保证一个事物不能读取另一个事物未提交的数据外,还保证了避免不可重复读。
SERIALIZABLE:这是花费最高代价但是最可靠的事务隔离级别。事物被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。