在观看Mybatis源码的过程中,有一点疑惑,就是Mybatis的缓存设计明显有问题,首先,Mybatis缓存分为两级,先说一级,生命周期为一个sqlsession,只有在查询相同方法时才会命中缓存,那么请问是什么情况下我们才需要连续查询两次相同方法呢?再说缓存清除策略,当发生update或者delete时会清除所有缓存,what???很明显的惊群现象好吗?再说二级缓存,因为是Mapper的Scope,所以在关联嵌套查询时脏数据的问题是硬伤,因为你无法预知你所关联的那个实体类的Mapper是否发…