eps将父类属性一并返回
This commit is contained in:
@@ -281,12 +281,38 @@ public class CoolEps {
|
|||||||
Set<Class<?>> classes = ClassUtil.scanPackageByAnnotation("", Table.class);
|
Set<Class<?>> classes = ClassUtil.scanPackageByAnnotation("", Table.class);
|
||||||
classes.forEach(e -> {
|
classes.forEach(e -> {
|
||||||
// 获得属性
|
// 获得属性
|
||||||
Field[] fields = ClassUtil.getDeclaredFields(e);
|
Field[] fields = getAllDeclaredFields(e);
|
||||||
List<Dict> columns = columns(fields);
|
List<Dict> columns = columns(fields);
|
||||||
entityInfo.set(e.getSimpleName(), columns);
|
entityInfo.set(e.getSimpleName(), columns);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取类及其所有父类中声明的字段
|
||||||
|
*
|
||||||
|
* @param clazz 要检查的类
|
||||||
|
* @return 包含类及其所有父类中声明的所有字段的数组
|
||||||
|
*/
|
||||||
|
public static Field[] getAllDeclaredFields(Class<?> clazz) {
|
||||||
|
// 参数校验
|
||||||
|
if (clazz == null) {
|
||||||
|
throw new IllegalArgumentException("Class cannot be null");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Field> allFields = new ArrayList<>();
|
||||||
|
Class<?> currentClass = clazz;
|
||||||
|
|
||||||
|
// 循环遍历类及其父类
|
||||||
|
while (currentClass != null) {
|
||||||
|
Field[] declaredFields = currentClass.getDeclaredFields();
|
||||||
|
allFields.addAll(Arrays.asList(declaredFields));
|
||||||
|
currentClass = currentClass.getSuperclass();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将列表转换为数组返回
|
||||||
|
return allFields.toArray(new Field[0]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得所有的列
|
* 获得所有的列
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user