我正在使用Neo4J的v2.2.3和Spring Neo4j Data SDN 4 我想使用cypher查询返回节点的一些属性,并将它们映射到Spring数据存储库中的POJO.My函数的属性看起来像这样
@Query(
"MATCH(n:ServiceProvider{profileStatus:{pStatus},currentResidenceState:{location}}) RETURN n.name,n.currentResidenceAddress ,n.employmentStatus,"
+ "n.idProofType,n.idProofNumber
ORDER BY n.registrationDate DESC SKIP{skip} LIMIT {limit}")
List<AdminSearchMapResult> getServiceProviderRecords(
@Param("pStatus")String pStatus,
@Param("location")String location,
@Param("skip") int skip,@Param("limit")int limit);
我收到类似
的错误Scalar response queries must only return one column. Make sure your cypher query only returns one item.
我认为这是因为我无法将所有返回的属性捆绑到可以映射到POJO的视图中
如果我返回节点本身并将其映射到POJO,则可以正常工作
请指导
答案 0 :(得分:1)
可以使用@QueryResult
使用AdminSearchMapResult
注释@QueryResult
POJO。例如:
@QueryResult
public class AdminSearchMapResult {
String name;
String currentResidenceAddress;
...
}
如果别名与字段名称不同,则可以选择使用@Property(name = "n.idProofType")
注释属性。