|
|
|
@@ -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; |
|
|
|
|