| @@ -8,6 +8,9 @@ import org.apache.commons.lang3.StringUtils; | |||||
| import javax.persistence.Transient; | import javax.persistence.Transient; | ||||
| import java.io.Serializable; | import java.io.Serializable; | ||||
| import java.lang.reflect.Field; | import java.lang.reflect.Field; | ||||
| import java.util.ArrayList; | |||||
| import java.util.Arrays; | |||||
| import java.util.List; | |||||
| /** | /** | ||||
| * @author luozukai | * @author luozukai | ||||
| @@ -36,10 +39,15 @@ public class BaseEntity implements Serializable { | |||||
| try { | try { | ||||
| //扫描子类SortColumn注解的属性,替换sortColumn | //扫描子类SortColumn注解的属性,替换sortColumn | ||||
| if(StringUtils.isNotBlank(sortColumn)) { | if(StringUtils.isNotBlank(sortColumn)) { | ||||
| Field[] fields = this.getClass().getDeclaredFields(); | |||||
| List<Field> 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); | SortColumn sortColumnField = field.getAnnotation(SortColumn.class); | ||||
| if (sortColumnField != null && field.getName().equals(sortColumn)) { | if (sortColumnField != null && field.getName().equals(sortColumn)) { | ||||
| return sortColumnField.column() + " "+sortOrder; | return sortColumnField.column() + " "+sortOrder; | ||||
| @@ -48,7 +56,7 @@ public class BaseEntity implements Serializable { | |||||
| //判断是否合法 | //判断是否合法 | ||||
| boolean find = false; | boolean find = false; | ||||
| for (Field field : fields){ | |||||
| for (Field field : fieldList){ | |||||
| if (field.getName().equals(sortColumn)) { | if (field.getName().equals(sortColumn)) { | ||||
| find = true; | find = true; | ||||
| break; | break; | ||||