diff --git a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java index 0d1dcf22..4a8c3dd7 100644 --- a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java +++ b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java @@ -149,7 +149,7 @@ public class MybatisFlexProcessor extends AbstractProcessor { assert table != null; // 类属性 fix: https://gitee.com/mybatis-flex/mybatis-flex/issues/I7I08X - Set columnInfos = new HashSet<>(); + Set columnInfos = new TreeSet<>(); // 默认查询的属性,非 isLarge 字段 List defaultColumns = new ArrayList<>(); diff --git a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java index dba7c3b3..93649a3c 100644 --- a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java +++ b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java @@ -24,7 +24,7 @@ import java.util.Objects; * @author 王帅 * @since 2023-07-01 */ -public class ColumnInfo { +public class ColumnInfo implements Comparable { /** * 属性名。 @@ -82,4 +82,12 @@ public class ColumnInfo { return property != null ? property.hashCode() : 0; } + @Override + public int compareTo(ColumnInfo o) { + // 先根据属性长度排序,属性名短的在上 + int compare = Integer.compare(property.length(), o.property.length()); + // 属性名长度一样,再按字母排序 + return compare == 0 ? property.compareTo(o.property) : compare; + } + } \ No newline at end of file