孙卫琴的Hibernate一书中讲了悲观锁的实现,说:由于Oracle默认的事务隔离级别为:Read Committed,没法保证并发的对同一条记录的update。然后说用悲观锁能够解决,说有两种实现方式:
1、用select * from xxx for update这种语句
2、对于不支持上面这种语句的数据库采用在表中添加指示字段的方法,比如一个字段是布尔类型,true表示不能使用,false表示可以使用。每当一个事务想修改一条记录的时候,就先检查指示字段是不是为fasle。我的问题就出现在这块儿了,既然Oracle默认的事务隔离级别为Read Committed,那么在检查指示字段的真假时不是也就没法保证正确了么?这不是扯淡呢吗?还是我哪里理解的不对??请大牛们指教