diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java index 5939e8e9e..bfe65863c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java @@ -20,6 +20,7 @@ import java.lang.reflect.Method; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.data.document.mongodb.repository.MongoRepositoryFactoryBean.EntityInformationCreator; import org.springframework.data.repository.query.QueryMethod; +import org.springframework.data.repository.support.RepositoryMetadata; import org.springframework.data.repository.util.ClassUtils; import org.springframework.util.StringUtils; @@ -39,8 +40,8 @@ class MongoQueryMethod extends QueryMethod { * * @param method */ - public MongoQueryMethod(Method method, EntityInformationCreator entityInformationCreator) { - super(method); + public MongoQueryMethod(Method method, RepositoryMetadata metadata, EntityInformationCreator entityInformationCreator) { + super(method, metadata); this.method = method; this.entityInformation = entityInformationCreator.getEntityInformation(ClassUtils.getReturnedDomainClass(method)); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java index 0484a6f63..13312f257 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java @@ -195,9 +195,9 @@ public class MongoRepositoryFactoryBean, S, ID * org.springframework.data.repository.query.QueryLookupStrategy * #resolveQuery(java.lang.reflect.Method, java.lang.Class) */ - public RepositoryQuery resolveQuery(Method method, Class domainClass) { + public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata) { - MongoQueryMethod queryMethod = new MongoQueryMethod(method, entityInformationCreator); + MongoQueryMethod queryMethod = new MongoQueryMethod(method, metadata, entityInformationCreator); if (queryMethod.hasAnnotatedQuery()) { return new StringBasedMongoQuery(queryMethod, template); diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java index 6e473b3fb..39df99531 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java @@ -31,6 +31,7 @@ import org.springframework.data.document.mongodb.convert.MongoConverter; import org.springframework.data.document.mongodb.convert.SimpleMongoConverter; import org.springframework.data.document.mongodb.query.BasicQuery; import org.springframework.data.document.mongodb.repository.MongoRepositoryFactoryBean.EntityInformationCreator; +import org.springframework.data.repository.support.RepositoryMetadata; /** * Unit tests for {@link StringBasedMongoQuery}. @@ -42,6 +43,8 @@ public class StringBasedMongoQueryUnitTests { @Mock MongoTemplate template; + @Mock + RepositoryMetadata metadata; MongoConverter converter = new SimpleMongoConverter(); @Before @@ -53,7 +56,7 @@ public class StringBasedMongoQueryUnitTests { public void testname() throws Exception { Method method = SampleRepository.class.getMethod("findByLastname", String.class); - MongoQueryMethod queryMethod = new MongoQueryMethod(method, new EntityInformationCreator(null)); + MongoQueryMethod queryMethod = new MongoQueryMethod(method, metadata, new EntityInformationCreator(null)); StringBasedMongoQuery mongoQuery = new StringBasedMongoQuery(queryMethod, template); ConvertingParameterAccessor accesor = StubParameterAccessor.getAccessor(converter, "Matthews");