Spring提供了@QueryResult批注,以将返回的值映射到java对象。但是似乎用@QueryResult注释的类只能具有原始类型的实例变量。如果是对象,则将其映射到Map<String, Object>

有什么方法可以将此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;
}


如果将class定义为

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

最佳答案

不支持此功能-将Map转换为POJO。

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

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

10-08 09:18