yulichang / mybatis-plus-join

支持连表查询的mybatis-plus,mybatis-plus风格的连表操作提供wrapper.leftJoin(),wrapper.rightJoin()等操作
https://mybatis-plus-join.github.io
Apache License 2.0
1.18k stars 127 forks source link

[错误报告]: 同一个实体类po定义了两个mapper,一个继承了MPJBaseMapper<T>,另一个继承了别的封装的Mapper,在service里使用MPJLambdaWrapper的查询方法报错mapper <%s> not extends MPJBaseMapper #212

Closed fuyuZERO closed 1 month ago

fuyuZERO commented 1 month ago

确认

当前程序版本

1.4.8.1

问题描述

同一个实体类po定义了两个mapper,一个AMapper继承了MPJBaseMapper,另一个BMapper继承了别的封装的Mapper,在service里使用MPJLambdaWrapper的查询方法,报错 mapper <%s> not extends MPJBaseMapper

经检查,SqlHelper里执行execJoin时,会调用SpringContentUtils.getMapper(entityClass);之后会调用MPJTableMapperHelper.getMapper(clazz);

Optional.ofNullable(clazz).map(m -> CACHE.get(clazz)).orElse(null);

这里会从MPJTableMapperHelper的CACHE里获取实体类对应的mapper的类,但这里获取到的是BMapper,就在execJoin里判断mapper instanceof MPJBaseMapper 报异常了

详细堆栈日志

No response