编程语言
首页 > 编程语言> > java – 在spring数据neo4j中获取2列的查询的返回类型是什么?

java – 在spring数据neo4j中获取2列的查询的返回类型是什么?

作者:互联网

我在spring数据neo4j中通过GraphRepository的@Query注释使用了以下查询.因此,为了获得结果,我将方法的返回类型声明为List

@Query(value = "START user=node:searchByMemberID(memberID=1) MATCH user-[r:FRIENDS_WITH]->member RETURN member")
List<Node> getNodes(int userID);

现在,如果我想编写一个返回2列的查询,那么它的相应方法的返回类型是什么.对于例如对于下面提到的查询,我应该如何在上面的查询中代替List.

START user=node:searchByMemberID(memberID='1') MATCH user-[r:FRIENDS_WITH]->member RETURN member, r.property

解决方法:

在这种情况下,查询返回Iterable< Map< String,Object>>它允许您迭代返回的行.每个元素都是一个映射,您可以通过返回字段的名称访问该映射,并使用neo4jOperations转换方法将值对象强制转换为其正确的类,即:

Iterable<Map<String, Object>> it = getNodes(...);

while (it.hasNext()) {
   Map<String, Object> map = it.next();
   obj = neo4jOperations.convert(map.get("member"), Node.class);
   ...
}

标签:java,spring,neo4j,spring-data,spring-data-neo4j
来源: https://codeday.me/bug/20190723/1509396.html