diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java index af51e21b..94d92fd4 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java @@ -207,7 +207,6 @@ public class QueryGenerator { if (parameterMap != null && parameterMap.containsKey(filedName + BEGIN)) { beginValue = parameterMap.get(filedName + BEGIN)[0].trim(); addQueryByRule(queryWrapper, columnName, type, beginValue, QueryRuleEnum.GE); - } if (parameterMap != null && parameterMap.containsKey(filedName + END)) { endValue = parameterMap.get(filedName + END)[0].trim(); @@ -1075,12 +1074,18 @@ public class QueryGenerator { private static String getTableFieldName(Class clazz, String name) { try { //如果字段加注解了@TableField(exist = false),不走DB查询 - Field field = clazz.getDeclaredField(name); + Field field = null; + try { + field = clazz.getDeclaredField(name); + } catch (NoSuchFieldException e) { + log.error("{}字段无法在当前类找到,将在父类寻找", name); + } + //如果为空,则去父类查找字段 if (field == null) { List allFields = getClassFields(clazz); List searchFields = allFields.stream().filter(a -> a.getName().equals(name)).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(searchFields)){ + if(searchFields!=null && searchFields.size()>0){ field = searchFields.get(0); } } @@ -1088,7 +1093,7 @@ public class QueryGenerator { if (field != null) { TableField tableField = field.getAnnotation(TableField.class); if (tableField != null){ - if(!tableField.exist()){ + if(tableField.exist() == false){ //如果设置了TableField false 这个字段不需要处理 return null; }else{