diff --git a/pom.xml b/pom.xml
index 4016f901e1..f5f155a8eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-jdbc
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.DATAJDBC-262-SNAPSHOT
Spring Data JDBC
Spring Data module for JDBC repositories.
diff --git a/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java b/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
index 83ce833e38..eaa5b947fd 100644
--- a/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
+++ b/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
@@ -273,8 +273,9 @@ private String createUpdateSql() {
String updateTemplate = "UPDATE %s SET %s WHERE %s = :%s";
- String setClause = columnNames.stream()//
- .map(n -> String.format("%s = :%s", n, n))//
+ String setClause = columnNames.stream() //
+ .filter(s -> !s.equals(entity.getIdColumn())) //
+ .map(n -> String.format("%s = :%s", n, n)) //
.collect(Collectors.joining(", "));
return String.format(updateTemplate, entity.getTableName(), setClause, entity.getIdColumn(), entity.getIdColumn());
diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java b/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
index 984e195aca..e571fba25f 100644
--- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
+++ b/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java
@@ -186,6 +186,17 @@ public void getInsertForEmptyColumnList() {
assertThat(insert).endsWith("()");
}
+ @Test // DATAJDBC-262
+ public void update() {
+
+ assertThat(sqlGenerator.getUpdate()).containsSequence( //
+ "UPDATE", //
+ "dummy_entity", //
+ "SET", //
+ "WHERE", //
+ "x_id = :x_id");
+ }
+
private PersistentPropertyPath getPath(String path, Class> base) {
return PersistentPropertyPathTestUtils.getPath(context, path, base);
}