0

我正在使用 Neo4J 的 v2.2.3 和 Spring Neo4j Data SDN 4 我想使用密码查询返回节点的一些属性并将它们映射到 POJO 的属性中。我在 Spring 数据存储库中的函数看起来像这样

@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 它可以工作

请指导

4

1 回答 1

2

这可以使用@QueryResult

用注释AdminSearchMapResultPOJO @QueryResult。例如:

@QueryResult
public class AdminSearchMapResult {

  String name;
  String currentResidenceAddress;
...

}

@Property(name = "n.idProofType")如果别名与字段名称不同,则可以选择使用注释属性。

于 2015-07-22T15:58:45.443 回答