diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java index 2d76358be..3ff619c6b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java @@ -225,7 +225,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App return (S) new BasicDBObject((Document) bson); } - return (S) DBObject.class.cast(bson); + return (S) bson; } if (typeToUse.isCollectionLike() && bson instanceof List) { diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MappingMongoConverterUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MappingMongoConverterUnitTests.java index 8aa25bd94..c0866ae38 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MappingMongoConverterUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MappingMongoConverterUnitTests.java @@ -48,6 +48,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; + import org.springframework.aop.framework.ProxyFactory; import org.springframework.beans.ConversionNotSupportedException; import org.springframework.beans.factory.annotation.Value; @@ -85,6 +86,7 @@ import org.springframework.test.util.ReflectionTestUtils; import com.mongodb.BasicDBList; import com.mongodb.BasicDBObject; +import com.mongodb.DBObject; import com.mongodb.DBRef; /** @@ -1932,6 +1934,8 @@ public class MappingMongoConverterUnitTests { assertThat(converter.read(BasicDBObject.class, new org.bson.Document("property", "value"))) .isEqualTo(new BasicDBObject("property", "value")); + assertThat(converter.read(DBObject.class, new org.bson.Document("property", "value"))) + .isEqualTo(new BasicDBObject("property", "value")); } static class GenericType { @@ -1955,7 +1959,7 @@ public class MappingMongoConverterUnitTests { @Override void method() { - } + } }; abstract void method();