Neo4J 不知道如何比较
Neo4J Don't know how to compare that
我正在尝试使用 List 参数实现简单的 Spring Neo4j 存储库函数:
@Query("MATCH (c:Criterion) WHERE c IN {0} return c")
List<Criterion> getAllCriteria(List<Criterion> criteria);
执行后出现以下错误:
org.neo4j.cypher.IncomparableValuesException: Don't know how to
compare that. Left: Node[513]{name:"Test",description:"Test
description"} (NodeProxy); Right:
Criterion[id=513,name=Test,description=Test description] (Criterion)
我哪里错了?
试试这个:
@Query("MATCH (c:Criterion) WHERE ID(c) IN {0} return c")
List<Criterion> getAllCriteria(List<Criterion> criteria);
尽管这可能有效,但您的查询似乎有点奇怪,因为返回的列表将等于您传入的列表。
不确定参数列表是否已转换。
单个实体 被转换为其 ID。
因此,如果您将标准转换为它们的图形 ID,您可以这样做:
@Query("MATCH (c:Criterion) WHERE ID(c) IN {0} return c")
List<Criterion> getAllCriteria(List<Long> criteria);
我正在尝试使用 List 参数实现简单的 Spring Neo4j 存储库函数:
@Query("MATCH (c:Criterion) WHERE c IN {0} return c")
List<Criterion> getAllCriteria(List<Criterion> criteria);
执行后出现以下错误:
org.neo4j.cypher.IncomparableValuesException: Don't know how to compare that. Left: Node[513]{name:"Test",description:"Test description"} (NodeProxy); Right: Criterion[id=513,name=Test,description=Test description] (Criterion)
我哪里错了?
试试这个:
@Query("MATCH (c:Criterion) WHERE ID(c) IN {0} return c")
List<Criterion> getAllCriteria(List<Criterion> criteria);
尽管这可能有效,但您的查询似乎有点奇怪,因为返回的列表将等于您传入的列表。
不确定参数列表是否已转换。 单个实体 被转换为其 ID。
因此,如果您将标准转换为它们的图形 ID,您可以这样做:
@Query("MATCH (c:Criterion) WHERE ID(c) IN {0} return c")
List<Criterion> getAllCriteria(List<Long> criteria);