Просмотр исходного кода

[排序][修改]:支持父类字段

release_toaliyun_real
Stormeye Wu 6 лет назад
Родитель
Сommit
727f721ba1
1 измененных файлов: 11 добавлений и 3 удалений
  1. +11
    -3
      mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java

+ 11
- 3
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<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);
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;


Загрузка…
Отмена
Сохранить