如何控制自定义Spring Data Neo4j存储库方法的深度?

时间:2015-08-29 14:38:04

标签: neo4j spring-data spring-data-neo4j spring-data-neo4j-4

例如,如果我想按名称获取用户列表:

class UserRepository extands GraphRepository<User> {

    List<User> findByName(String name);
}

那么如何将加载深度设置为2?

我试图在SDN 4.0.0.RC2 docs中找到答案,但它并未包含有关此问题的任何内容。

2 个答案:

答案 0 :(得分:9)

派生的发现者还不支持深度。您必须编写自定义查询或使用loadAllByProperty上的Neo4jTemplate方法(如果适用)。

这应该在文档中提到过,我们将添加它。

答案 1 :(得分:8)

自SDN 4.2.0-M1起,此功能已实施。在撰写本文时,它还没有进入参考文档,但请参阅this PR了解实现,测试和示例应用程序更新。

简而言之,派生的查找器方法现在可以使用@Depth(n)注释来指定n(ref)的获取深度。您还可以向方法签名添加@Depth - 带注释的参数,该参数可用于指定每次调用的提取深度(ref)。

干杯,@ Lunene - 看起来很棒:)