File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
core/src/main/java/tk/mybatis/mapper/mapperhelper Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -167,7 +167,18 @@ public Class<?> getEntityClass(MappedStatement ms) {
167
167
if (type instanceof ParameterizedType ) {
168
168
ParameterizedType t = (ParameterizedType ) type ;
169
169
if (t .getRawType () == this .mapperClass || this .mapperClass .isAssignableFrom ((Class <?>) t .getRawType ())) {
170
- Class <?> returnType = (Class <?>) t .getActualTypeArguments ()[0 ];
170
+ Type actualType = t .getActualTypeArguments ()[0 ];
171
+ Class <?> returnType ;
172
+ if (actualType instanceof Class ) {
173
+ returnType = (Class <?>) actualType ;
174
+ } else if (actualType instanceof ParameterizedType ) {
175
+ // 获取泛型信息后发现任然是泛型的场景
176
+ returnType = (Class <?>) ((ParameterizedType )actualType ).getRawType ();
177
+ } else {
178
+ // GenericArrayType、TypeVariable以及WildcardType不受支持
179
+ throw new MapperException (msId + " 方法的泛型信息不受支持!" );
180
+ }
181
+
171
182
//获取该类型后,第一次对该类型进行初始化
172
183
EntityHelper .initEntityNameMap (returnType , mapperHelper .getConfig ());
173
184
entityClassMap .put (msId , returnType );
You can’t perform that action at this time.
0 commit comments