diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java b/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java index 8f31c1fa..dfbce61a 100644 --- a/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java +++ b/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java @@ -359,7 +359,7 @@ public class CouchbaseTemplate implements CouchbaseOperations, ApplicationEventP final String operationDesc = failOnExist ? "Insert" : failOnMissing ? "Update" : "Upsert"; final BeanWrapper beanWrapper = BeanWrapper.create(objectToPersist, converter.getConversionService()); - CouchbasePersistentEntity persistentEntity = mappingContext.getPersistentEntity(objectToPersist.getClass()); + final CouchbasePersistentEntity persistentEntity = mappingContext.getPersistentEntity(objectToPersist.getClass()); final CouchbasePersistentProperty versionProperty = persistentEntity.getVersionProperty(); final Long version = versionProperty != null ? beanWrapper.getProperty(versionProperty, Long.class) : null; @@ -384,7 +384,7 @@ public class CouchbaseTemplate implements CouchbaseOperations, ApplicationEventP storedDoc = client.insert(doc, persistTo, replicateTo); } - if (storedDoc != null && storedDoc.cas() != 0) { + if (persistentEntity.hasVersionProperty() && storedDoc != null && storedDoc.cas() != 0) { //inject new cas into the bean beanWrapper.setProperty(versionProperty, storedDoc.cas()); return true;