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 に答える