diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java index 1465db581..8c017b6ae 100644 --- a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java @@ -25,7 +25,7 @@ import org.springframework.data.repository.aot.generate.json.JSONObject; * @author Mark Paluch * @since 4.0 */ -record AotRepositoryMetadata(String name, String moduleName, +record AotRepositoryMetadata(String name, String module, org.springframework.data.repository.aot.generate.AotRepositoryMetadata.RepositoryType type, List methods) { @@ -37,7 +37,7 @@ record AotRepositoryMetadata(String name, String moduleName, JSONObject metadata = new JSONObject(); metadata.put("name", name()); - metadata.put("moduleName", moduleName()); + metadata.put("module", module()); metadata.put("type", type().name()); JSONArray methods = new JSONArray(); diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java index 277b1e7dc..da3699c3a 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java @@ -556,9 +556,9 @@ public class RepositoryComposition { private static @Nullable Method findMethod(InvokedMethod invokedMethod, List lookups, RepositoryFragments fragments) { - for (RepositoryFragment fragment : fragments) { - for (Method candidate : fragment.findMethods(invokedMethod.getName())) { - for (MethodLookup.MethodPredicate methodPredicate : lookups) { + for (MethodLookup.MethodPredicate methodPredicate : lookups) { + for (RepositoryFragment fragment : fragments) { + for (Method candidate : fragment.findMethods(invokedMethod.getName())) { if (methodPredicate.test(invokedMethod, candidate)) { return candidate; } diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java index f82750d34..d2f449c6e 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java @@ -17,6 +17,7 @@ package org.springframework.data.repository.core.support; import java.util.ArrayList; import java.util.List; +import java.util.function.Supplier; import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; @@ -373,7 +374,7 @@ public abstract class RepositoryFactoryBeanSupport, } FragmentCreationContext creationContext = new DefaultFragmentCreationContext(repositoryMetadata, - valueExpressionDelegate, factory.getProjectionFactory()); + valueExpressionDelegate, factory::getProjectionFactory); RepositoryFragments fragments = RepositoryFragments.empty(); for (RepositoryFragmentsFunction function : functions) { @@ -443,7 +444,7 @@ public abstract class RepositoryFactoryBeanSupport, private record DefaultFragmentCreationContext(RepositoryMetadata repositoryMetadata, ValueExpressionDelegate valueExpressionDelegate, - ProjectionFactory projectionFactory) implements FragmentCreationContext { + Supplier projectionFactory) implements FragmentCreationContext { @Override public RepositoryMetadata getRepositoryMetadata() { @@ -457,7 +458,7 @@ public abstract class RepositoryFactoryBeanSupport, @Override public ProjectionFactory getProjectionFactory() { - return projectionFactory(); + return projectionFactory().get(); } }