最近在做一个 Neo4J 的小 demo
Spring-boot version 2.4.1 Neo4j API version: SDN6+
@Query("MATCH (c:COOPER)-[r:relation]->(inv:Inventor) RETURN collect(c.name) as coop, collect(r.num) as num,inv.name as king LIMIT 25")
List<Coop2Inv> QueryRelation();
在使用 @Query 时,需要把查到的数据存到对象中,总是出现如下错误:
Could not find mappable nodes or relationships inside Record
但在低版本 API 中使用 @QueryResult 注释实体就不会出现问题。
类似的问题在 Neo4J 社区中也没有答案: https://community.neo4j.com/t/issue-when-retrieving-result-from-neo4jrepository/34966/4
所以该怎么获取数据呢?
1
15855pm 2022-03-31 17:07:50 +08:00
前段时间我刚好遇到过这个问题,这是官方给的新的解决方案: https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#projections ,但是这个方案满足不了复杂的自定义查询结果。最后还是用的 Neo4jClient 自己做实体映射,这是官方文档: https://docs.spring.io/spring-data/neo4j/docs/6.0.15/reference/html/#neo4j-client
|