diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java index 8567146e..a188fd7b 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java @@ -1102,8 +1102,13 @@ public class TableInfo { .typeHandler(configuration.getTypeHandlerRegistry().getTypeHandler(genericClass)) .build(); String nestedResultMapId = entityClass.getName() + "." + field.getName(); - ResultMap nestedResultMap = new ResultMap.Builder(configuration, nestedResultMapId, genericClass, Collections.singletonList(resultMapping)).build(); - configuration.addResultMap(nestedResultMap); + ResultMap nestedResultMap; + if (configuration.hasResultMap(nestedResultMapId)) { + nestedResultMap = configuration.getResultMap(nestedResultMapId); + } else { + nestedResultMap = new ResultMap.Builder(configuration, nestedResultMapId, genericClass, Collections.singletonList(resultMapping)).build(); + configuration.addResultMap(nestedResultMap); + } // 映射 resultMappings.add(new ResultMapping.Builder(configuration, field.getName()) .javaType(field.getType())