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支持转换器处打开功能请求。