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