查询并将neo4j查询结果转换为多维@QueryResult对象

时间:2015-01-22 18:14:39

标签: java neo4j spring-data-neo4j

我有一个@QueryResult接口,它本身声明了一个getter方法,该方法返回相同类型的对象列表。我想知道是否有办法将neo4j查询结果转换为实现此域接口的代理对象?

以下是我尝试进行测试的域的界面,但没有用:

 @QueryResult
   public interface Test
   {
       @ResultColumn( "id" )
       public String getId();
       @ResultColumn( "name" )
       public String getName();
       @ResultColumn( "tests" );
       java.util.Collection<Test> getTests();
   }

我使用neo4Template#query(String,Map)将下面的查询转换为实现上述接口的代理对象

  MATCH (n:Label {id:{id}) WITH n MATCH (n)-[:INCLUDES]->(s) with n, s, COLLECT ({id:s.id, name:s.name}) AS tests RETURN n.name as name, n.id as id, tests

然而,我得到了这个例外: Expexted名为toString的列位于结果集中。     在

org.springframework.data.neo4j.support.conversion.ResultColumnValueExtractor.extractFromAccessibleObject(ResultColumnValueExtractor.java:74)
    at org.springframework.data.neo4j.support.conversion.ResultColumnValueExtractor.extractFromMethod(ResultColumnValueExtractor.java:56)
    at org.springframework.data.neo4j.support.conversion.QueryResultProxy.invoke(QueryResultProxy.java:54)
    at com.sun.proxy.$Proxy173.toString(Unknown Source)
    at java.lang.String.valueOf(String.java:2854)
    at java.lang.StringBuilder.append(StringBuilder.java:128)
    at org.neo4j.helpers.collection.IteratorUtil.single(IteratorUtil.java:338)
    at org.neo4j.helpers.collection.IteratorUtil.singleOrNull(IteratorUtil.java:128)
    at org.neo4j.helpers.collection.IteratorUtil.singleOrNull(IteratorUtil.java:286)
    at org.springframework.data.neo4j.conversion.QueryResultBuilder.singleOrNull(QueryResultBuilder.java:71)

有谁知道使用弹簧数据neo4j是否可以实现?谢谢你的帮助

0 个答案:

没有答案