diff --git a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java b/src/main/java/org/springframework/data/repository/query/parser/PartTree.java index 9764bca38..4fd5a9ea6 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java +++ b/src/main/java/org/springframework/data/repository/query/parser/PartTree.java @@ -57,7 +57,7 @@ public class PartTree implements Streamable { * @see Pattern */ private static final String KEYWORD_TEMPLATE = "(%s)(?=(\\p{Lu}|\\P{InBASIC_LATIN}))"; - private static final String QUERY_PATTERN = "find|read|get|query|stream"; + private static final String QUERY_PATTERN = "find|read|get|query|search|stream"; private static final String COUNT_PATTERN = "count"; private static final String EXISTS_PATTERN = "exists"; private static final String DELETE_PATTERN = "delete|remove"; diff --git a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java b/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java index 47a18c78e..4dd4208f6 100755 --- a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java @@ -50,7 +50,8 @@ import org.springframework.data.repository.query.parser.PartTree.OrPart; */ public class PartTreeUnitTests { - private String[] PREFIXES = { "find", "read", "get", "query", "stream", "count", "delete", "remove", "exists" }; + private String[] PREFIXES = { "find", "read", "get", "query", "search", "stream", "count", "delete", "remove", + "exists" }; @Test public void rejectsNullSource() { @@ -400,6 +401,15 @@ public class PartTreeUnitTests { assertThat(parts).containsExactly(part("firstname"), part("lastname")); } + @Test // DATACMNS-1645 + public void searchPrefixShouldBeSupportedInRepositoryQueryMethods() { + + PartTree tree = new PartTree("searchByFirstnameAndLastname", User.class); + Iterable parts = tree.getParts(); + + assertThat(parts).containsExactly(part("firstname"), part("lastname")); + } + @Test // DATACMNS-303 public void identifiesExtendedCountByCorrectly() {