2015-11-26 192 views
0

Spring提供@QueryResult注释将返回值映射到java对象。但看起来像@QueryResult注解的类只能有原始类型的实例变量。如果它是一个对象,那么它将映射到Map<String, Object>将Neo4J结果映射到java对象

有什么办法可以将这个Map<String, Object>映射到一个java对象吗?我试过,但不断收到空值

例如,

MATCH (n{name:'x'}) return {id: ID(n), labels: labels(n)}

想把这个查询的返回值匹配

@QueryResult 
class QueryResult{ 
    NodeInfo node; 
} 

class NodeInfo{ 
    Long id; 
    String []labels; 
} 

测绘工作,如果类定义为

@QueryResult 
class QueryResult{ 
    Map<String, Object> node; 
} 
+0

哪个版本的SDN? – Luanne

+0

@Luanne最新4.0.0.RELEASE – sidgate

回答

1

这不支持 - 将地图转换为一个POJO。

您可能最终可以定义一个转换器(NodeInfo < - > Map),但在当前版本中不起作用。

如果您希望此项目由团队讨论,请在https://jira.spring.io/browse/DATAGRAPH/to支持转换器中打开功能请求。