数据库中隔离级别有四种: 是否存在脏读 是否存在不可重复读 是否存在幻读
Read uncommitted(未提交读) 是 是 是
Read committed(提交读):oracle默认的 否 是 是
Repeatable Read(可重复读) 否 否 是
Serializable Read(序列化读) 否 否 否
在hibernate中执行flush()方法的时候,Hibernate 清理缓存,生成sql,其实这时候数据库已经有数据,只是由于数据库本身的隔离级别的问题,一般数据库都默认看不到的,必须等commit()以后才可以看到,可以通过设置隔离级别,看到数据,但这是不安全的,有可能回滚的数据