diff --git a/src/main/java/org/springframework/data/geo/Circle.java b/src/main/java/org/springframework/data/geo/Circle.java index 13bf640dbf..48f7428146 100644 --- a/src/main/java/org/springframework/data/geo/Circle.java +++ b/src/main/java/org/springframework/data/geo/Circle.java @@ -15,7 +15,7 @@ */ package org.springframework.data.geo; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; @@ -40,7 +40,7 @@ public class Circle implements Shape { * @param center must not be {@literal null}. * @param radius must not be {@literal null} and it's value greater or equal to zero. */ - @PersistenceConstructor + @PersistenceCreator public Circle(Point center, Distance radius) { Assert.notNull(center, "Center point must not be null"); diff --git a/src/main/java/org/springframework/data/geo/GeoResults.java b/src/main/java/org/springframework/data/geo/GeoResults.java index 7913ecbf9b..033e00f8e1 100644 --- a/src/main/java/org/springframework/data/geo/GeoResults.java +++ b/src/main/java/org/springframework/data/geo/GeoResults.java @@ -15,13 +15,12 @@ */ package org.springframework.data.geo; - import java.io.Serializable; import java.util.Collections; import java.util.Iterator; import java.util.List; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -67,7 +66,7 @@ public GeoResults(List> results, Metric metric) { * @param results must not be {@literal null}. * @param averageDistance must not be {@literal null}. */ - @PersistenceConstructor + @PersistenceCreator public GeoResults(List> results, Distance averageDistance) { Assert.notNull(results, "Results must not be null"); diff --git a/src/main/java/org/springframework/data/geo/Point.java b/src/main/java/org/springframework/data/geo/Point.java index 8a79d509fa..070c6b6e7b 100644 --- a/src/main/java/org/springframework/data/geo/Point.java +++ b/src/main/java/org/springframework/data/geo/Point.java @@ -18,7 +18,7 @@ import java.io.Serializable; import java.util.Locale; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -43,7 +43,7 @@ public class Point implements Serializable { * @param x * @param y */ - @PersistenceConstructor + @PersistenceCreator public Point(double x, double y) { this.x = x; this.y = y; diff --git a/src/main/java/org/springframework/data/geo/Polygon.java b/src/main/java/org/springframework/data/geo/Polygon.java index 9759994a2e..770fdf9f28 100644 --- a/src/main/java/org/springframework/data/geo/Polygon.java +++ b/src/main/java/org/springframework/data/geo/Polygon.java @@ -15,14 +15,13 @@ */ package org.springframework.data.geo; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -67,7 +66,7 @@ public Polygon(Point x, Point y, Point z, Point... others) { * * @param points must not be {@literal null}. */ - @PersistenceConstructor + @PersistenceCreator public Polygon(List points) { Assert.notNull(points, "Points must not be null"); diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java index 8df9129766..605d33fb25 100644 --- a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java +++ b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java @@ -212,7 +212,7 @@ public void setBeanFactory(BeanFactory beanFactory) { this.beanClassLoader = cbf.getBeanClassLoader(); } - this.retrievalMutex = cbf.getSingletonMutex(); + this.retrievalMutex = new Object(); } defaultRetriever.discoverEntityCallbacks(beanFactory); diff --git a/src/main/java/org/springframework/data/repository/query/QueryMethod.java b/src/main/java/org/springframework/data/repository/query/QueryMethod.java index 5a3f887694..61682941d1 100644 --- a/src/main/java/org/springframework/data/repository/query/QueryMethod.java +++ b/src/main/java/org/springframework/data/repository/query/QueryMethod.java @@ -86,7 +86,7 @@ public QueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory this.method = method; this.unwrappedReturnType = potentiallyUnwrapReturnTypeFor(metadata, method); this.metadata = metadata; - this.parameters = createParameters(method, metadata.getDomainTypeInformation()); + this.parameters = createParameters(ParametersSource.of(getMetadata(), method)); this.domainClass = Lazy.of(() -> { diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java index 3b1d804a32..8437812628 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java @@ -142,7 +142,12 @@ void capturesContextOnInstantiationException() throws Exception { } catch (MappingInstantiationException o_O) { - assertThat(o_O.getConstructor()).hasValue(constructor); + assertThat(o_O.getEntityCreator() + .map(it -> (PreferredConstructor) it) + .map(PreferredConstructor::getConstructor)) + .isPresent() + .hasValue(constructor); + assertThat(o_O.getConstructorArguments()).isEqualTo(parameters); assertThat(o_O.getEntityType()).hasValue(Sample.class); diff --git a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java index 0afa897f46..516984fe42 100755 --- a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java @@ -130,7 +130,12 @@ void capturesContextOnInstantiationException() throws Exception { } catch (MappingInstantiationException o_O) { - assertThat(o_O.getConstructor()).hasValue(constructor); + assertThat(o_O.getEntityCreator() + .map(it -> (PreferredConstructor) it) + .map(PreferredConstructor::getConstructor)) + .isPresent() + .hasValue(constructor); + assertThat(o_O.getConstructorArguments()).isEqualTo(parameters); assertThat(o_O.getEntityType()).hasValue(Sample.class);