问题描述
版本:3.5.1 缓存A:
@Mapper
@CacheNamespace
public interface CacheA {
@Select("select 1 from dual")
int testA();
}
缓存B
@Mapper
@CacheNamespaceRef(CacheA.class)
public interface CacheB {
@Select("select 1 from dual")
int testB();
}
当mybatis.config.xml时,一切正常。
<mappers>
<mapper class="cn.test.mybatis.CacheDao.CacheA"/>
<mapper class="cn.test.mybatis.CacheDao.CacheB"/>
</mappers>
当我尝试这样做时。
<mappers>
<mapper class="cn.test.mybatis.CacheDao.CacheB"/>
<mapper class="cn.test.mybatis.CacheDao.CacheA"/>
</mappers>
有一些错误。 我在源代码中找到了答案。 MapperBuilderAssistant.java:265
...
if (unresolvedCacheRef) {
throw new IncompleteElementException("Cache-ref not yet resolved");
}
...
我觉得顺序很重要。 但是当我将 sprintboot 与 mybatis 一起使用时,我可以控制它们的顺序。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)