日期:2014-05-16  浏览次数:20371 次

jdbc的事务级别

  TRANSACTION_NONE 说明不支持事务。

  TRANSACTION_READ_UNCOMMITTED 说明在提交前一个事务可以看到另一个事务的变化。这样脏读、不可重复的读和虚读都是允许的。

  脏读:在没有提交数据时能够读到已经更新的数据

  TRANSACTION_READ_COMMITTED 说明读取未提交的数据是不允许的。这个级别仍然允许不可重复的读和虚读产生。

  不可重复的读:在一个事务中进行查询时,允许读取提交前的数据,数据提交后,当前查询就可以读取到数据。update数据时候并不锁住表

  TRANSACTION_REPEATABLE_READ 说明事务保证能够再次读取相同的数据而不会失败,但虚读仍然会出现。

  虚读:允许读取到其他事务提交的新增数据

  TRANSACTION_SERIALIZABLE 是最高的事务级别,它防止脏读、不可重复的读和虚读,在一个事务中进行查询时,不允许任何对这个查询表的数据修改。