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;
}
如果类定义为,则映射有效
@QueryResult
class QueryResult{
Map<String, Object> node;
}
最佳答案
不支持将 Map 转换为 POJO。
您最终可能能够定义一个转换器(NodeInfo<->Map),但这在当前版本中不起作用。
请打开功能请求 https://jira.spring.io/browse/DATAGRAPH/to如果您希望团队讨论此项目,请支持转换器。
关于java - 将 Neo4J 结果映射到 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934030/