diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java index 0c6577be8..59b79664c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java @@ -833,11 +833,10 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, protected void doInsert(String collectionName, T objectToSave, MongoWriter writer) { + initializeVersionProperty(objectToSave); maybeEmitEvent(new BeforeConvertEvent(objectToSave, collectionName)); assertUpdateableIdIfNotSet(objectToSave); - initializeVersionProperty(objectToSave); - Document dbDoc = toDocument(objectToSave, writer); maybeEmitEvent(new BeforeSaveEvent(objectToSave, dbDoc, collectionName)); @@ -940,8 +939,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, for (T o : batchToSave) { initializeVersionProperty(o); - maybeEmitEvent(new BeforeConvertEvent(o, collectionName)); + Document document = toDocument(o, writer); maybeEmitEvent(new BeforeSaveEvent(o, document, collectionName));