事务隔离级别是为了解决并发操作时脏读,误读等等带来的问题。数据库(我在学习过程中用的是MySQL,不知道Oracle是否也是一样)有四种隔离级别,分别为:
1、读为提交:第一个用户改了数据库,未提交,第二个用户就能看到数据;
2、读已提交:第一个用户改了数据库,并且提交了,第二个用户才可以看到数据库;
3、可重复读(MySQL默认隔离级别):在第一个用户开启的事务内,第二个用户不管怎么改数据库,第一个用户都看不到;
4、串行化(不可并发):不可并发,只能一个一个来。
在Hibernate中这四个隔离级别对应的整数分别为1、2、4、8,可以在Hibernate的主配置文件内设置事务隔离级别,如:
<property name="connection.isolation">2</property>,即将事务隔离级别设置为读已提交。