V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
AJDX3906
V2EX  ›  问与答

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

  •  
  •   AJDX3906 · Mar 30, 2022 · 2088 views
    This topic created in 1492 days ago, the information mentioned may be changed or developed.

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

    所以该怎么获取数据呢?

    2 replies    2022-03-31 19:11:43 +08:00
    15855pm
        1
    15855pm  
       Mar 31, 2022
    前段时间我刚好遇到过这个问题,这是官方给的新的解决方案: 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
        2
    AJDX3906  
    OP
       Mar 31, 2022 via Android
    @15855pm 谢谢!看来只能使用 Neo4jClient 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2702 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:08 · PVG 11:08 · LAX 20:08 · JFK 23:08
    ♥ Do have faith in what you're doing.