0
如何創建基於IN子句的查詢?文件似乎不清楚?以下代碼編譯並運行,但結果集不是預期的節點。Spring-Data中@Query params的作品集? Neo4j
public interface SomeRepository extends GraphRepository<SomeNode> {
@Query("START n=node({nodeid}) MATCH (n)-[r]-(p) WHERE p.id IN [{someids}] RETURN p")
public Set<SomeNode> findByIds(@Param("nodeid") Long rootNodeId, @Param("someids") Set<Long> someIds);
}
@NodeEntity
public class SomeNode {
@GraphId
private Long internalId;
@Indexed(unique = true)
private Long id;
// getters setters omitted.
}
謝謝。
沒有重訪SDN,你的'p.id'是你自己的id屬性,不是?與使用'ID(p)'的cypher檢索的Neo4j ID不同? – jjaderberg
是.. id是本例中(in?)節點的一個屬性。不是節點的ID。 – Eric
你的意思是「結果集不是預期的節點」?你能說明你是如何定義id屬性的嗎?它是與@GraphId註釋的id不同的字段嗎?無論如何,你可以嘗試刪除{someids}周圍的方括號。 – remigio