忽略案例查找器不适用于Spring Data Rest和Neo4J



我无法使用查找器方法哄骗Spring Data Neo4J(使用Spring Data Rest(忽略大小写。下面是一个示例存储库:

@RepositoryRestResource
public interface WidgetRepository extends PagingAndSortingRepository<Widget, Long> {
Optional<Widget> findByNameIgnoreCase(String name);
}

即使我有IgnoreCase关键字,此示例也只会按确切大小写查找小部件。我将不胜感激有关如何获得查找器方法来忽略 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关键字作为方便的访问功能可能很有用。

最新更新