【问题标题】:Spring-data-neo4j-4 generates invalid cypher when using paging with custom queriesSpring-data-neo4j-4 在使用带有自定义查询的分页时生成无效密码
【发布时间】:2016-11-17 11:25:25
【问题描述】:

我读过here,spring-data-neo4j-4 现在支持在 spring-data-neo4j 4 中分页和排序。

但是下面的代码给了我下面的错误。

存储库代码

@Query("match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t;")
Page<MessageThread> findByMemberId(Pageable pageable, @Param("domainId") String memberId);

错误信息

org.neo4j.ogm.exception.CypherException:执行 Cypher “Neo.ClientError.Statement.SyntaxError”时出错;代码:Neo.ClientError.Statement.SyntaxError;说明:无效输入“K”:预期的“t/T”或“e/E”(第 1 行,第 84 列(偏移量:83)) "match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t; SKIP {sdnSkip} LIMIT {sdnLimit}"

我想知道,这是预期的还是我做错了什么?

我目前使用的是 SDN 4.2.0.M1

更新:这是发送到 neo4j 服务器的 http 请求(包括密码):

http://localhost:62131/db/data/transaction/commit, request: 

{
    "statements": [{
        "statement": "match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t; SKIP {sdnSkip} LIMIT {sdnLimit}",
        "parameters": {
            "0": {
                "sort": null,
                "offset": 0,
                "pageNumber": 0,
                "pageSize": 20
            },
            "domainId": "5qfrCXxDQJm5SGpIHtI1yw",
            "sdnSkip": 0,
            "sdnLimit": 20
        },
        "resultDataContents": ["graph"],
        "includeStats": false
    }]
}

【问题讨论】:

  • 你能打开调试以显示 CYPHER 语句吗? &lt;logger name="org.neo4j.ogm" level="warn" /&gt;。或者,发送一个示例项目。用法看起来不错。
  • 谢谢贾斯珀。我已经粘贴了发送到数据库服务器的内容。我可以看到它是密码中放错位置的半冒号。我能做些什么呢?如果没有,请告诉我是否可以将测试用例放在一起。干杯。
  • 啊,之前没注意到。你用的是什么版本?我肯定已经通过测试用例在 master 中修复了该问题 - 将作为 SNAPSHOT 版本提供。同时,您可以删除 ;来自您的查询。

标签: spring-data-neo4j-4


【解决方案1】:

查看您的查询:

@Query("match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t;")
Page<MessageThread> findByMemberId(Pageable pageable, @Param("domainId") String memberId);

它以分号结尾。几周前实施了针对此错误的测试用例和修复程序 - 可作为 SNAPSHOT 构建。

如果您不想使用 SNAPSHOT 构建,可以通过从自定义查询末尾删除分号来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-02
    • 2014-03-15
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多