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

Pra*_*hat 3 java spring neo4j spring-data spring-data-neo4j

我在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);
Run Code Online (Sandbox Code Playgroud)

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

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

rem*_*gio 9

在这种情况下,查询返回一个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);
   ...
}
Run Code Online (Sandbox Code Playgroud)