如下图所示: 我有两个xml文件, 他们有着相同的 namespace (指向 IssueMapper)

 

为了启用二级缓存, 我在 IssueMapper.xml 中添加了 <cache /> 节点 (不能在两个xml中同时添加, 否则启动时会报错)

 

看一眼 Mapper接口, 只有两个接口

 

其中 findOne() 在 IssueMapper.xml 中实现, 而 update 在 IssueMapperExt.xml 中实现

 

现在使用如下步骤调用

 

正常来说, 执行了 update 操作后, 此namespace中的二级缓存将被移除, 然而 实际update却没有去刷新缓存, 导致 后面的第二次查询从二级缓存中取到了脏数据

 

此问题已提交至github, 后续详情请跟踪issue > https://github.com/mybatis/mybatis-3/issues/1599 (含复现用例代码)

转载于:https://www.cnblogs.com/imyjy/p/11163610.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐