IgnoreCase Finder 不适用于 Spring Data Rest 和 Neo4J
IgnoreCase Finder Not Working with Spring Data Rest and Neo4J
我无法用 finder 方法哄骗 Spring Data Neo4J(使用 Spring Data Rest)忽略大小写。这是一个示例存储库:
@RepositoryRestResource
public interface WidgetRepository extends PagingAndSortingRepository<Widget, Long> {
Optional<Widget> findByNameIgnoreCase(String name);
}
即使我有 IgnoreCase
关键字,此示例也只会按确切的大小写查找小部件。我将不胜感激有关如何获得 finder 方法以忽略 Neo4J 大小写的建议。谢谢!
案例特定关键字尚未在 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
然而,这可能有助于支持 Spring Data Neo4j 中的 ignoreCase
关键字作为方便的访问功能。
我无法用 finder 方法哄骗 Spring Data Neo4J(使用 Spring Data Rest)忽略大小写。这是一个示例存储库:
@RepositoryRestResource
public interface WidgetRepository extends PagingAndSortingRepository<Widget, Long> {
Optional<Widget> findByNameIgnoreCase(String name);
}
即使我有 IgnoreCase
关键字,此示例也只会按确切的大小写查找小部件。我将不胜感激有关如何获得 finder 方法以忽略 Neo4J 大小写的建议。谢谢!
案例特定关键字尚未在 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
然而,这可能有助于支持 Spring Data Neo4j 中的 ignoreCase
关键字作为方便的访问功能。