From 0427abfb90e352ae4a54117f8e2e1a07e0502f0b Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Tue, 1 Mar 2011 21:14:17 +0100 Subject: [PATCH] Added field attribute to @Query annotation. The fields attribute allows specifying which fields of matching documents should be unmarshalled. --- .../mongodb/repository/MongoQueryMethod.java | 12 ++++++++++++ .../data/document/mongodb/repository/Query.java | 2 ++ 2 files changed, 14 insertions(+) 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 8b742abce..ec6777e0a 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 @@ -83,6 +83,18 @@ class MongoQueryMethod extends QueryMethod { String query = (String) AnnotationUtils.getValue(getQueryAnnotation()); return StringUtils.hasText(query) ? query : null; } + + /** + * Returns the field specification to be used for the query. + * + * @return + */ + String getFieldSpecification() { + + String value = (String) AnnotationUtils.getValue(getQueryAnnotation(), "fields"); + return StringUtils.hasText(value) ? value : null; + } + /** * Returns the {@link Query} annotation that is applied to the method or {@code null} if none available. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/Query.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/Query.java index 86b5aa60d..b30b06a9c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/Query.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/Query.java @@ -33,4 +33,6 @@ import java.lang.annotation.Target; public @interface Query { String value() default ""; + + String fields() default ""; }