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 bc882d1a2..4c5b88ea0 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 @@ -253,7 +253,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 da45e72e0..135550792 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 @@ -20,6 +20,7 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import static org.springframework.data.mongodb.core.DocumentTestUtils.*; +import com.mongodb.DBObject; import lombok.EqualsAndHashCode; import lombok.RequiredArgsConstructor; @@ -2070,9 +2071,11 @@ public class MappingMongoConverterUnitTests { @Test // DATAMONGO-2410 public void shouldAllowReadingBackDbObject() { - + 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 {