diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java index a02d4c7ab..e79af5b61 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java @@ -113,7 +113,8 @@ public abstract class AbstractRepositoryMetadata implements RepositoryMetadata { return ReactiveWrapperConverters.unwrapWrapperTypes(returnType).getType(); } - return QueryExecutionConverters.unwrapWrapperTypes(returnType).getType(); + return ReactiveWrapperConverters.unwrapWrapperTypes(QueryExecutionConverters.unwrapWrapperTypes(returnType)) + .getType(); } /* diff --git a/src/main/java/org/springframework/data/repository/query/Parameter.java b/src/main/java/org/springframework/data/repository/query/Parameter.java index 04c21ba9f..faca4ba02 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameter.java +++ b/src/main/java/org/springframework/data/repository/query/Parameter.java @@ -30,6 +30,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.repository.util.ClassUtils; import org.springframework.data.repository.util.QueryExecutionConverters; +import org.springframework.data.repository.util.ReactiveWrapperConverters; import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.Lazy; import org.springframework.data.util.TypeInformation; @@ -228,7 +229,8 @@ public class Parameter { TypeInformation bound = parameterTypes.getTypeArguments().get(0); TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); - return bound.equals(QueryExecutionConverters.unwrapWrapperTypes(returnType)); + return bound + .equals(ReactiveWrapperConverters.unwrapWrapperTypes(QueryExecutionConverters.unwrapWrapperTypes(returnType))); } /** @@ -239,7 +241,8 @@ public class Parameter { * @see QueryExecutionConverters */ private static boolean isWrapped(MethodParameter parameter) { - return QueryExecutionConverters.supports(parameter.getParameterType()); + return QueryExecutionConverters.supports(parameter.getParameterType()) + || ReactiveWrapperConverters.supports(parameter.getParameterType()); } /**