IgnoreCase Finder не работает с Spring Data Rest и Neo4J - PullRequest
0 голосов
/ 02 июля 2018

Я не могу уговорить Spring Data Neo4J (с Spring Data Rest) игнорировать регистр методом поиска. Вот пример репозитория:

@RepositoryRestResource
public interface WidgetRepository extends PagingAndSortingRepository<Widget, Long> {

    Optional<Widget> findByNameIgnoreCase(String name);
}

В этом примере виджеты будут найдены только по точному регистру, хотя у меня есть ключевое слово IgnoreCase. Буду признателен за совет о том, как найти метод поиска, чтобы игнорировать случай с Neo4J. Спасибо!

1 Ответ

0 голосов
/ 04 июля 2018

Ключевые слова для конкретного случая еще не реализованы в Spring Data Neo4j. Но в методе производного запроса можно использовать регулярное выражение.

Определение метода поиска регулярных выражений

Optional<Widget> findByNameMatchesRegex(String name);

и используйте его вот так

widgetRepository.findByNameMatchesRegex("(?i)paul");

На данный момент это единственный вариант в Neo4j для поиска строк по запросам без учета регистра. https://neo4j.com/docs/developer-manual/current/cypher/clauses/where/#case-insensitive-regular-expressions

Однако это может быть полезно для поддержки ключевого слова ignoreCase в Spring Data Neo4j в качестве удобной функции доступа.

...