Spring boot——Neo4J 查询的数据转实体出现错误

2022-03-30 23:44:34 +08:00
 AJDX3906

最近在做一个 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

所以该怎么获取数据呢?

1307 次点击
所在节点    问与答
2 条回复
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
AJDX3906
2022-03-31 19:11:43 +08:00
@15855pm 谢谢!看来只能使用 Neo4jClient 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX