From 67bab915a184166daf16886dd2511e595444699e Mon Sep 17 00:00:00 2001 From: Hett Date: Thu, 23 Dec 2021 19:35:47 +0700 Subject: [PATCH] Issue 3918: fixed double call fetch method in DefaultReferenceResolver --- .../data/mongodb/core/convert/DefaultReferenceResolver.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultReferenceResolver.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultReferenceResolver.java index 62e713065f..062656b406 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultReferenceResolver.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultReferenceResolver.java @@ -19,6 +19,7 @@ import java.util.Collections; +import org.bson.Document; import org.springframework.dao.support.PersistenceExceptionTranslator; import org.springframework.data.mongodb.core.mapping.DBRef; import org.springframework.data.mongodb.core.mapping.DocumentReference; @@ -41,8 +42,8 @@ public class DefaultReferenceResolver implements ReferenceResolver { private final LookupFunction collectionLookupFunction = (filter, ctx) -> getReferenceLoader().fetchMany(filter, ctx); private final LookupFunction singleValueLookupFunction = (filter, ctx) -> { - Object target = getReferenceLoader().fetchOne(filter, ctx); - return target == null ? Collections.emptyList() : Collections.singleton(getReferenceLoader().fetchOne(filter, ctx)); + Document target = getReferenceLoader().fetchOne(filter, ctx); + return target == null ? Collections.emptyList() : Collections.singleton(target); }; /**