diff --git a/pom.xml b/pom.xml
index 3a9b4f5ad7..56cd13245a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-mongodb-parent
- 1.10.0.BUILD-SNAPSHOT
+ 1.10.0.DATAMONGO-1425-SNAPSHOT
pom
Spring Data MongoDB
diff --git a/spring-data-mongodb-cross-store/pom.xml b/spring-data-mongodb-cross-store/pom.xml
index 6554045e11..f60fa32de6 100644
--- a/spring-data-mongodb-cross-store/pom.xml
+++ b/spring-data-mongodb-cross-store/pom.xml
@@ -6,7 +6,7 @@
org.springframework.data
spring-data-mongodb-parent
- 1.10.0.BUILD-SNAPSHOT
+ 1.10.0.DATAMONGO-1425-SNAPSHOT
../pom.xml
@@ -48,7 +48,7 @@
org.springframework.data
spring-data-mongodb
- 1.10.0.BUILD-SNAPSHOT
+ 1.10.0.DATAMONGO-1425-SNAPSHOT
diff --git a/spring-data-mongodb-distribution/pom.xml b/spring-data-mongodb-distribution/pom.xml
index 2d02722262..a1e3895f6e 100644
--- a/spring-data-mongodb-distribution/pom.xml
+++ b/spring-data-mongodb-distribution/pom.xml
@@ -13,7 +13,7 @@
org.springframework.data
spring-data-mongodb-parent
- 1.10.0.BUILD-SNAPSHOT
+ 1.10.0.DATAMONGO-1425-SNAPSHOT
../pom.xml
diff --git a/spring-data-mongodb-log4j/pom.xml b/spring-data-mongodb-log4j/pom.xml
index ee5e3336db..ee6fc77505 100644
--- a/spring-data-mongodb-log4j/pom.xml
+++ b/spring-data-mongodb-log4j/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-mongodb-parent
- 1.10.0.BUILD-SNAPSHOT
+ 1.10.0.DATAMONGO-1425-SNAPSHOT
../pom.xml
diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml
index edfa519fad..fca21e8a30 100644
--- a/spring-data-mongodb/pom.xml
+++ b/spring-data-mongodb/pom.xml
@@ -11,7 +11,7 @@
org.springframework.data
spring-data-mongodb-parent
- 1.10.0.BUILD-SNAPSHOT
+ 1.10.0.DATAMONGO-1425-SNAPSHOT
../pom.xml
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java
index 083b778d7e..315ac7a805 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java
@@ -200,7 +200,7 @@ private Criteria from(Part part, MongoPersistentProperty property, Criteria crit
case CONTAINING:
return createContainingCriteria(part, property, criteria, parameters);
case NOT_CONTAINING:
- return createContainingCriteria(part, property, criteria, parameters).not();
+ return createContainingCriteria(part, property, criteria.not(), parameters);
case REGEX:
return criteria.regex(parameters.next().toString());
case EXISTS:
diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java
index b924d81883..277172f12e 100644
--- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java
+++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java
@@ -1261,4 +1261,15 @@ public void findAllByExampleShouldResolveStuffCorrectly() {
assertThat(result.size(), is(2));
}
+ /**
+ * @see DATAMONGO-1425
+ */
+ @Test
+ public void findsPersonsByFirstnameNotContains() throws Exception {
+
+ List result = repository.findByFirstnameNotContains("Boyd");
+ assertThat(result.size(), is((int) (repository.count() - 1)));
+ assertThat(result, not(hasItem(boyd)));
+ }
+
}
diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/PersonRepository.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/PersonRepository.java
index eae2c02e10..00a91b4e45 100644
--- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/PersonRepository.java
+++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/PersonRepository.java
@@ -89,6 +89,8 @@ public interface PersonRepository extends MongoRepository, Query
*/
List findByFirstnameLike(String firstname);
+ List findByFirstnameNotContains(String firstname);
+
List findByFirstnameLikeOrderByLastnameAsc(String firstname, Sort sort);
@Query("{'age' : { '$lt' : ?0 } }")
@@ -309,7 +311,8 @@ public interface PersonRepository extends MongoRepository, Query
* @see DATAMONGO-745
*/
@Query("{lastname:?0, address.street:{$in:?1}}")
- Page findByCustomQueryLastnameAndAddressStreetInList(String lastname, List streetNames, Pageable page);
+ Page findByCustomQueryLastnameAndAddressStreetInList(String lastname, List streetNames,
+ Pageable page);
/**
* @see DATAMONGO-950
@@ -334,19 +337,19 @@ public interface PersonRepository extends MongoRepository, Query
*/
@Query("{ firstname : { $in : ?0 }}")
Stream findByCustomQueryWithStreamingCursorByFirstnames(List firstnames);
-
+
/**
* @see DATAMONGO-990
*/
@Query("{ firstname : ?#{[0]}}")
List findWithSpelByFirstnameForSpELExpressionWithParameterIndexOnly(String firstname);
-
+
/**
* @see DATAMONGO-990
*/
@Query("{ firstname : ?#{[0]}, email: ?#{principal.email} }")
List findWithSpelByFirstnameAndCurrentUserWithCustomQuery(String firstname);
-
+
/**
* @see DATAMONGO-990
*/
diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java
index 9780f32be9..2fe220b73e 100644
--- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java
+++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java
@@ -454,6 +454,7 @@ public void shouldCreateInClauseWhenUsingNotContainsOnCollectionLikeProperty() {
/**
* @see DATAMONGO-1075
+ * @see DATAMONGO-1425
*/
@Test
public void shouldCreateRegexWhenUsingNotContainsOnStringProperty() {
@@ -462,7 +463,7 @@ public void shouldCreateRegexWhenUsingNotContainsOnStringProperty() {
MongoQueryCreator creator = new MongoQueryCreator(tree, getAccessor(converter, "thew"), context);
Query query = creator.createQuery();
- assertThat(query, is(query(where("username").regex(".*thew.*").not())));
+ assertThat(query.getQueryObject(), is(query(where("username").not().regex(".*thew.*")).getQueryObject()));
}
/**