diff --git a/src/main/java/org/redkale/source/AbstractDataSource.java b/src/main/java/org/redkale/source/AbstractDataSource.java index afc285897..e3d8d33c8 100644 --- a/src/main/java/org/redkale/source/AbstractDataSource.java +++ b/src/main/java/org/redkale/source/AbstractDataSource.java @@ -216,7 +216,7 @@ public abstract class AbstractDataSource extends AbstractService implements Data * @return 对象 */ protected T getEntityValue(EntityInfo info, final SelectColumn sels, final EntityInfo.DataResultSetRow row) { - return sels == null ? info.getBuilder().getFullEntityValue(row) : info.getBuilder().getEntityValue(sels, row); + return info.getBuilder().getEntityValue(sels, row); } /** diff --git a/src/main/java/org/redkale/source/ColumnValue.java b/src/main/java/org/redkale/source/ColumnValue.java index 9a9ed560f..b1ec2c368 100644 --- a/src/main/java/org/redkale/source/ColumnValue.java +++ b/src/main/java/org/redkale/source/ColumnValue.java @@ -21,7 +21,7 @@ import org.redkale.util.*; * * @author zhangjx */ -public class ColumnValue { +public class ColumnValue implements Comparable { @ConvertColumn(index = 1) private String column; @@ -528,8 +528,14 @@ public class ColumnValue { this.value = value; } + @Override + public int compareTo(ColumnValue o) { + return o == null ? 1 : this.column.compareTo(o.column); + } + @Override public String toString() { return "{\"column\":\"" + column + "\", \"express\":" + express + ", \"value\":" + value + "}"; } + } diff --git a/src/main/java/org/redkale/source/EntityInfo.java b/src/main/java/org/redkale/source/EntityInfo.java index f611611ee..84b05bd63 100644 --- a/src/main/java/org/redkale/source/EntityInfo.java +++ b/src/main/java/org/redkale/source/EntityInfo.java @@ -701,6 +701,11 @@ public final class EntityInfo { return (V) this.subobjectMap.get(name); } + @SuppressWarnings("unchecked") + public V getSubobjectIfAbsent(String name, Function func) { + return (V) this.subobjectMap.computeIfAbsent(name, func); + } + public void setSubobject(String name, Object value) { this.subobjectMap.put(name, value); }