fix: replaceResultMap error

This commit is contained in:
开源海哥 2023-10-09 10:30:37 +08:00
parent bc6694a8a6
commit 9b12d5f75b

View File

@ -187,7 +187,7 @@ public class FlexConfiguration extends Configuration {
//获取结果的类型
Class<?> clazz = resultMap.getType();
//判断是否为表实体类
if (clazz.getDeclaredAnnotation(Table.class) != null) {
if (clazz.getDeclaredAnnotation(Table.class) != null && isDefaultResultMap(ms.getId(), resultMap.getId())) {
TableInfo tableInfo = TableInfoFactory.ofEntityClass(clazz);
ms = replaceResultMap(ms, tableInfo);
}
@ -196,6 +196,16 @@ public class FlexConfiguration extends Configuration {
super.addMappedStatement(ms);
}
/**
* 是否为默认的 resultMap也就是未配置 resultMap
*
* @return
*/
private boolean isDefaultResultMap(String statementId, String resultMapId) {
// 参考 {@code MapperBuilderAssistant.getStatementResultMaps}
return resultMapId.equals(statementId + "-Inline");
}
/**
* 替换 entity 查询的 ResultMap