内容来自《Java Web 程序员面试笔试宝典》

【出现频率】★★★☆☆ 【学习难度】★★★★☆

答案:Spring有五种事务隔离级别。

• Isolation.DEFAULT:这是Spring的默认配置,是PlatfromTransactionManager默认的离级别,使用数据库默认的事务隔离级别。

• Isolation.READ_UNCOMMITTED:未提交读。最低事务隔离级别,可以读取其他事务未提交数据(会出现脏读,不可重复读),基本不使用。

• Isolation.READ_COMMITTED:提交读。只能读取其他事务已提交数据(会出现不可重复读和幻读)

• Isolation.REPEATABLE_READ:可重复读。可以防止脏读,不可重复读。但是可能出现幻像读。它的意思是多次读取同一个数据时,其值都和事务开始时的内容一致。它除了保证一个事务不能读取另一个事务未提交的数据。

• Isolation.SERIALIZABLE:串行化。最高事务级别,事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。

在事务注解中做个性化的事务隔离级别配置示例如下:

下面是一些与事务隔离级别相关的名词解释。