首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当使用@QueryResult映射到POJO时,cypher查询没有返回结果

当使用@QueryResult映射到POJO时,cypher查询没有返回结果
EN

Stack Overflow用户
提问于 2016-02-03 10:37:57
回答 1查看 969关注 0票数 0

我正在运行一个密码查询

代码语言:javascript
运行
复制
org.neo4j.ogm.session.Session#query(java.lang.Class<T>, java.lang.String, java.util.Map<java.lang.String,?>)

该类是我使用@QueryResult注释的POJO

代码语言:javascript
运行
复制
@QueryResult
public class Neo4jQueryResultClip {
    private String clipUuid;

    private String postTitle;

    private Date clipCreatedAt;
//getters and setters
}

我的查询密码是这样的

代码语言:javascript
运行
复制
match (c:Clip) where (:User{uuid:{uuidParam}})-[:USER_FOLLOWS_USER]->(:User)-[:CLIP_BY_USER]->(c) OR (:User{uuid:{uuidParam}})-[:CLIP_BY_USER]->(c)match (c)<-[:CLIP_PRODUCT|:CLIP_INSPIRATION]-(post) optional match (c)<-[cp:CLIP_PRODUCT]-(post) return c.uuid as clipUuid,c.createdAt as clipCreatedAt,post.title as postTitle order by c.createdAt DESC

但是,返回的结果的迭代器是空的。

如果我运行相同的查询使用

代码语言:javascript
运行
复制
org.neo4j.ogm.session.Session#query(java.lang.String, java.util.Map<java.lang.String,?>)

我得到正确的结果封装在

代码语言:javascript
运行
复制
org.neo4j.ogm.session.result.Result

对象。

这里有什么东西我遗漏了吗?我已经验证了类Neo4jQueryResultClip正在被我使用的neo4j弹簧配置扫描,我使用的是Spring-Data-ne4j (4.0.0.RELEASE)和新4j-ogm库(1.1.4)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 15:29:24

@QueryResult在Spring数据存储库中使用(参见mapresult),这就是为什么没有映射它的原因。

如果您在存储库中执行此操作,则

代码语言:javascript
运行
复制
@Query("match (c:Clip) where (:User{uuid:{uuidParam}})-[:USER_FOLLOWS_USER]->(:User)-[:CLIP_BY_USER]->(c) OR (:User{uuid:{uuidParam}})-[:CLIP_BY_USER]->(c)match (c)<-[:CLIP_PRODUCT|:CLIP_INSPIRATION]-(post) optional match (c)<-[cp:CLIP_PRODUCT]-(post) return c.uuid as clipUuid,c.createdAt as clipCreatedAt,post.title as postTitle order by c.createdAt DESC")
Neo4jQueryResultClip getClip(...);

那它就能正常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35174698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档