IgnoreCase Finder 不适用于 Spring Data Rest 和 Neo4J

Posted

技术标签:

【中文标题】IgnoreCase Finder 不适用于 Spring Data Rest 和 Neo4J【英文标题】:IgnoreCase Finder Not Working with Spring Data Rest and Neo4J 【发布时间】:2018-12-10 04:30:29 【问题描述】:

我无法使用 finder 方法诱使 Spring Data Neo4J(带有 Spring Data Rest)忽略大小写。这是一个示例存储库:

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

    Optional<Widget> findByNameIgnoreCase(String name);

即使我有 IgnoreCase 关键字,此示例也只能按大小写查找小部件。我将不胜感激有关如何获得使用 Neo4J 忽略大小写的查找器方法的建议。谢谢!

【问题讨论】:

【参考方案1】:

Spring Data Neo4j 中尚未实现特定于案例的关键字。但是可以在派生查询方法中使用正则表达式。

定义一个正则表达式查找器方法

Optional&lt;Widget&gt; 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 关键字作为方便的访问功能。

【讨论】:

我们将在即将发布的带有 SDN 5.1 的 Neo4j-OGM 3.1.1 中支持字符串属性上的“IgnoreCase”。

以上是关于IgnoreCase Finder 不适用于 Spring Data Rest 和 Neo4J的主要内容,如果未能解决你的问题,请参考以下文章

声音仅适用于设备,但不适用于模拟器

为什么 0适用于该程序但不适用于在子函数中执行while循环的情况? [关闭]

printoptions 格式化程序不适用于复数数组的单个元素

Atom-Editor:Rubocop 不适用于 atom

Spring Boot + Thymeleaf css 不适用于模板

CORS 不适用于从 Ajax 到 ASP.NET Core Web API 的调用