执行一下看看呢
首先一级缓存必须是同一个session,你的session2提交并不会对session1的缓存进行update,而且这种事应该编码时避免的错误,session在使用完后及时关闭。这个session缓存和数据库事务应该是没什么关系的。个人理解,如有偏差欢迎指正。
session的生命周期在事务内,也就是说,事务1和事务2分别有对应的session1和session2。一级缓存的作用域在同一session内,所以事务2提交只会清空session2的缓存,对session1没有影响。
一级缓存 是sqlsession 级别的,所以多个sqlsession 不存在上面说的脏读的问题。就算是分布式的环境下,就像视频中的说的 SqleSession是开启数据库事务的,这个就要结合数据库 默认的事物级别有关系了 正常MySql 默认的是可重复读,然后利用MVCC和数据库的锁 去解决了 幻读的问题!