From f1c0157feef2f4ee524e0acb312d5ea9c92fd21a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Basl=C3=A9?= Date: Mon, 29 Jun 2015 19:49:26 +0200 Subject: [PATCH] fix template setting version even if no such field --- .../data/couchbase/core/CouchbaseTemplate.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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;