Skip to content

Commit 1f327ad

Browse files
author
Jarvis Song
committed
close #184
1 parent bc8663c commit 1f327ad

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

spring-data-mybatis/src/main/java/org/springframework/data/mybatis/repository/support/MybatisBasicMapperBuilder.java

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static org.apache.ibatis.mapping.SqlCommandType.UPDATE;
1010

1111
import java.util.ArrayList;
12+
import java.util.Collections;
1213
import java.util.HashMap;
1314
import java.util.HashSet;
1415
import java.util.List;
@@ -42,6 +43,7 @@
4243
import org.apache.ibatis.executor.keygen.NoKeyGenerator;
4344
import org.apache.ibatis.executor.keygen.SelectKeyGenerator;
4445
import org.apache.ibatis.mapping.MappedStatement;
46+
import org.apache.ibatis.mapping.ResultFlag;
4547
import org.apache.ibatis.mapping.ResultMapping;
4648
import org.apache.ibatis.session.Configuration;
4749

@@ -84,32 +86,32 @@ private void addResultMap() {
8486

8587
if (p.isAnnotationPresent(EmbeddedId.class) || p.isEmbeddable()) {
8688

87-
List<ResultMapping> nestedResultMappings = new ArrayList<>();
88-
8989
((MybatisPersistentEntityImpl) entity)
9090
.getRequiredPersistentEntity(p.getActualType()).doWithProperties(
9191
(PropertyHandler<MybatisPersistentProperty>) ep -> {
92-
// build mybatis result map association
93-
nestedResultMappings.add(assistant.buildResultMapping(
94-
ep.getType(), ep.getName(),
95-
ep.getColumnName(), ep.getType(),
96-
ep.getJdbcType(), null, null, null, null,
97-
ep.getSpecifiedTypeHandler(), null));
92+
93+
resultMappings.add(
94+
assistant.buildResultMapping(ep.getType(),
95+
String.format("%s.%s", p.getName(),
96+
ep.getName()),
97+
ep.getColumnName(), ep.getType(),
98+
ep.getJdbcType(), null, null, null,
99+
null, ep.getSpecifiedTypeHandler(),
100+
p.isIdProperty()
101+
? Collections.singletonList(
102+
ResultFlag.ID)
103+
: null));
98104

99105
});
100-
addResultMap(RESULT_MAP + "_" + p.getName(), p.getActualType(),
101-
nestedResultMappings);
102-
resultMappings.add(assistant.buildResultMapping(p.getType(), p.getName(),
103-
p.getColumnName(), p.getType(), p.getJdbcType(), null,
104-
RESULT_MAP + "_" + p.getName(), null, null,
105-
p.getSpecifiedTypeHandler(), null));
106-
}
107-
else {
108-
resultMappings.add(assistant.buildResultMapping(p.getType(), p.getName(),
109-
p.getColumnName(), p.getType(), p.getJdbcType(), null, null, null,
110-
null, p.getSpecifiedTypeHandler(), null));
106+
107+
return;
111108
}
112109

110+
resultMappings.add(assistant.buildResultMapping(p.getType(), p.getName(),
111+
p.getColumnName(), p.getType(), p.getJdbcType(), null, null, null,
112+
null, p.getSpecifiedTypeHandler(),
113+
p.isIdProperty() ? Collections.singletonList(ResultFlag.ID) : null));
114+
113115
});
114116

115117
addResultMap(RESULT_MAP, entity.getType(), resultMappings);

spring-data-mybatis/src/main/java/org/springframework/data/mybatis/repository/support/MybatisMapperBuildAssistant.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ protected void addResultMap(String id, Class<?> type,
380380
if (log.isDebugEnabled()) {
381381
System.out.println(
382382
"/*【" + this.assistant.getCurrentNamespace() + '.' + id + "】 */");
383-
System.out.println(resultMappings);
383+
resultMappings.stream().forEach(System.out::println);
384384
}
385385
}
386386

0 commit comments

Comments
 (0)