(b:Repo) WHERE a.name=-6ren">
gpt4 book ai didi

neo4j - 如何使用 Spring Data Neo4j RX 返回多个字段?

转载 作者:行者123 更新时间:2023-12-05 07:04:28 24 4
gpt4 key购买 nike

我正在使用 Spring Data Neo4j RX。我有这样的查询:

@Query("MATCH (a:Repo)-[:REPO_DEPEND_ON]->(b:Repo) WHERE a.name= $name RETURN a.name, b.name")
String[] getSingleRepoDependencyTo(String name);

我知道这里的返回类型是错误的,因为它不能是字符串数组。但是我怎样才能正确地得到包含两个字段的结果呢?

我在网上找了很久都没有找到答案。此 RX 版本尚不支持“@QueryResult”注释。

感谢您的帮助。

最佳答案

假设您有一个映射 @Node Repo与它的关系,如

@Node
public class Repo {
// other things
String name;
@Relationship("REPO_DEPEND_ON") Repo repo;
}

并在 ...extends Neo4jRepository<Repo,...> 中定义此方法,你可以使用 Projections .

public interface RepoProjection {

String getName();

DependingRepo getRepo();

/**
* nested projection
*/
interface DependingRepo {
String getName();
}
}

重要的是要记住,返回值应该是使其以这种方式工作的节点和关系。

您还可以删除自定义查询并执行以下操作:

RepoProjection findByName(String name)

如果您不需要 findByName在此实体本身的存储库中。

关于neo4j - 如何使用 Spring Data Neo4j RX 返回多个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62925321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com