diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java index e80bbe4f0..a4429cab9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java @@ -400,7 +400,7 @@ public class Update { */ @Override public String toString() { - return getUpdateObject().toString(); + return SerializationUtils.serializeToJsonSafely(getUpdateObject()); } /** diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/UpdateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/UpdateTests.java index b63ca3aff..900a5b701 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/UpdateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/UpdateTests.java @@ -21,6 +21,7 @@ import static org.junit.Assert.*; import java.util.Collections; import java.util.Map; +import org.joda.time.DateTime; import org.junit.Test; import com.mongodb.BasicDBObject; @@ -409,4 +410,14 @@ public class UpdateTests { equalTo(new BasicDBObjectBuilder().add("$currentDate", new BasicDBObject("foo", true).append("bar", new BasicDBObject("$type", "timestamp"))).get())); } + + /** + * @see DATAMONGO-1002 + */ + @Test + public void toStringWorksForUpdateWithComplexObject() { + + Update update = new Update().addToSet("key", new DateTime()); + assertThat(update.toString(), is(notNullValue())); + } }