From 727f721ba1818e6b41fb14445d9867ccfb998188 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 29 Jul 2019 15:36:45 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=8E=92=E5=BA=8F][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=88=B6=E7=B1=BB=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/domain/po/BaseEntity.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java index da397ce36..08d80ff93 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java @@ -8,6 +8,9 @@ import org.apache.commons.lang3.StringUtils; import javax.persistence.Transient; import java.io.Serializable; import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * @author luozukai @@ -36,10 +39,15 @@ public class BaseEntity implements Serializable { try { //扫描子类SortColumn注解的属性,替换sortColumn if(StringUtils.isNotBlank(sortColumn)) { - Field[] fields = this.getClass().getDeclaredFields(); + List fieldList = new ArrayList<>() ; + Class tempClass = this.getClass(); + while (tempClass != null) {//当父类为null的时候说明到达了最上层的父类(Object类). + fieldList.addAll(Arrays.asList(tempClass.getDeclaredFields())); + tempClass = tempClass.getSuperclass(); //得到父类,然后赋给自己 + } //扫描注解,优先解析注解 - for (Field field : fields) { + for (Field field : fieldList) { SortColumn sortColumnField = field.getAnnotation(SortColumn.class); if (sortColumnField != null && field.getName().equals(sortColumn)) { return sortColumnField.column() + " "+sortOrder; @@ -48,7 +56,7 @@ public class BaseEntity implements Serializable { //判断是否合法 boolean find = false; - for (Field field : fields){ + for (Field field : fieldList){ if (field.getName().equals(sortColumn)) { find = true; break;