From 158ff3b96170ebe136c0f320d955f71d58c85e8f Mon Sep 17 00:00:00 2001 From: redkale Date: Mon, 4 Dec 2023 15:30:29 +0800 Subject: [PATCH] =?UTF-8?q?EntityInfo=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/source/AbstractDataSource.java | 2 +- src/main/java/org/redkale/source/ColumnValue.java | 8 +++++++- src/main/java/org/redkale/source/EntityInfo.java | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) 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); }