diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java index 9909fe48..d2ee7087 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java @@ -740,11 +740,11 @@ public interface BaseMapper { Class mappingType = fieldWrapper.getMappingType(); Object value; - if (Set.class.isAssignableFrom(fieldType)) { + if (fieldType.isAssignableFrom(List.class)) { + value = selectListByQueryAs(childQuery, mappingType); + } else if (fieldType.isAssignableFrom(Set.class)) { value = selectListByQueryAs(childQuery, mappingType); value = new HashSet<>((Collection) value); - } else if (Collection.class.isAssignableFrom(fieldType)) { - value = selectListByQueryAs(childQuery, mappingType); } else if (fieldType.isArray()) { value = selectListByQueryAs(childQuery, mappingType); value = ((List) value).toArray();