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); } }