当前使用版本
3.5.6
当前环境信息
例如: Java8 + Mysql5.7
java8
描述bug现象
代码生成器解析superClass报空指针异常
提供问题复现步骤
老版本靠TableInfoHelper.getAllFields解析
List fieldList = ReflectionKit.getFieldList(ClassUtils.getUserClass(clazz));
return (List)fieldList.stream().filter((field) -> {
TableField tableField = (TableField)field.getAnnotation(TableField.class);
return tableField == null || tableField.exist();
}).collect(Collectors.toList());
新版本升级后TableInfoHelper也升级该方法
TableInfo tableInfo = getTableInfo(clazz);
AnnotationHandler annotationHandler = GlobalConfigUtils.getGlobalConfig(tableInfo.getConfiguration()).getAnnotationHandler();
return getAllFields(clazz, annotationHandler);
新版本没有对tableInfo 判空,而且super并没有在TableInfoHelper管理范围内
提供完整堆栈日志(可选)
提供问题复现工程(可选)
请尽量提供复现工程,减少大家排错的时间.
Comment From: nieqiurong
你的3.5.6版本到底是哪里确定出来的?
https://github.com/baomidou/mybatis-plus/pull/5466/commits/8266139fefc2cf861eb5adaeed831f9d16f0a75e
Comment From: zhangpf41
我也遇到同样的问题,生成代码是报空指针异常
Comment From: yexiaodong
请问如何处理?