!421 修复关联查询bug,VO类List 集合字段会调用多次configuration.addResultMap导致异常

Merge pull request !421 from leizhiyou/main
This commit is contained in:
Michael Yang 2024-02-04 11:20:13 +00:00 committed by Gitee
commit 4729186fde
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -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();
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);
}
// 映射 <collection property="..." ofType="genericClass">
resultMappings.add(new ResultMapping.Builder(configuration, field.getName())
.javaType(field.getType())