解决方案 »

  1.   

    这个涉及到数据库的隔离级别。默认情况下,oracle,mssql,mysql都是READ COMMITTED隔离级别来访问数据
    你这个原理是这样::
    事务A,打开 ,然后读取了数据,此时还没有提交A事务
    事务B紧接的更新数据,并提交事务
    事务A再次读取该数据,发现数据已经改变了。此时A事务还没有提交因为,默认数据库READ COMMITTED级别,顾名思义,就是可以保证读取已经提交的数据,防止脏读。。
    如果为了性能考虑,更改了数据库的配置默认隔离级别为 read uncommitted,就不是这样的情况了,就发现不了数据的改变了。。