diff --git a/pom.xml b/pom.xml
index e05684db9e..f50e02b2fd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-jpa
- 2.1.0.BUILD-SNAPSHOT
+ 2.1.0.DATAJPA-1261-SNAPSHOT
Spring Data JPA
Spring Data module for JPA repositories.
diff --git a/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java b/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java
index 8ca9b53ea6..9110e5dc6d 100644
--- a/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java
+++ b/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java
@@ -488,11 +488,9 @@ public S save(S entity) {
if (entityInformation.isNew(entity)) {
em.persist(entity);
return entity;
- } else if (!em.contains(entity)) {
+ } else {
return em.merge(entity);
}
-
- return entity;
}
/*
diff --git a/src/test/java/org/springframework/data/jpa/repository/support/SimpleJpaRepositoryUnitTests.java b/src/test/java/org/springframework/data/jpa/repository/support/SimpleJpaRepositoryUnitTests.java
index 27d6fbe466..8ffa70e9cf 100644
--- a/src/test/java/org/springframework/data/jpa/repository/support/SimpleJpaRepositoryUnitTests.java
+++ b/src/test/java/org/springframework/data/jpa/repository/support/SimpleJpaRepositoryUnitTests.java
@@ -145,8 +145,8 @@ public void mergeGetsCalledWhenDetached() {
verify(em).merge(detachedUser);
}
- @Test // DATAJPA-931
- public void mergeGetsNotCalledWhenAttached() {
+ @Test // DATAJPA-931, DATAJPA-1261
+ public void mergeGetsCalledWhenAttached() {
User attachedUser = new User();
@@ -154,6 +154,6 @@ public void mergeGetsNotCalledWhenAttached() {
repo.save(attachedUser);
- verify(em, never()).merge(attachedUser);
+ verify(em).merge(attachedUser);
}
}