最新回答 / qq_慕神0568869
二级缓存默认是可读写的,在可读写的情况下会用序列化缓存SerializedCache来装饰,在存入和获取的时候会对数据对象进行序列化和反序列化,返回的是一个新的对象。所以使用二级缓存的实体类必须实现序列化接口,
2020-05-21
最新回答 / burg_xun
一级缓存 是sqlsession 级别的,所以多个sqlsession 不存在上面说的脏读的问题。就算是分布式的环境下,就像视频中的说的 SqleSession是开启数据库事务的,这个就要结合数据库 默认的事物级别有关系了 正常MySql 默认的是可重复读,然后利用MVCC和数据库的锁 去解决了 幻读的问题!
2020-05-15
已采纳回答 / qq_慕神0568869
一级缓存是不能关闭的,但可以设置flushCache=true强制清除缓存或更改localCacheScope=STATEMENT,这样每次都会查数据库,当然也可以手动调用session.clearCache清除
2020-05-13