Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查询参数替换失败_Java_Spring_Neo4j_Cypher_Spring Data Neo4j - Fatal编程技术网

Java 查询参数替换失败

Java 查询参数替换失败,java,spring,neo4j,cypher,spring-data-neo4j,Java,Spring,Neo4j,Cypher,Spring Data Neo4j,我有一个类似于下面的存储库,其中我使用带参数的带注释的查询。但是,当涉及到替换时,它会失败,出现异常:org.neo4j.cypher.ParameterNotFoundException:需要一个名为custType1的参数 public class CustTypes { public static final String TYPE1 = "foo"; public static final String TYPE2 = "bar"; } public interfac

我有一个类似于下面的存储库,其中我使用带参数的带注释的查询。但是,当涉及到替换时,它会失败,出现异常:
org.neo4j.cypher.ParameterNotFoundException:需要一个名为custType1的参数

public class CustTypes {
    public static final String TYPE1 = "foo";
    public static final String TYPE2 = "bar";
}


public interface CustomQueryRepository extends GraphRepository<CustomEntity> {
    @Query(
        value = 
            " START c=node({0}) "
          + " WHERE c.type! = {custType1} "
          + "    OR c.type! = {custType2} "
          + "RETURN DISTINCT c, c.type AS compType",
        params = {
            "custType1", CustTypes.TYPE1,
            "custType2", CustTypes.TYPE2
    })
    Iterable<CustomMapResult> getTypes(List<Long> nodeIds);
}
公共类类型{
公共静态最终字符串TYPE1=“foo”;
公共静态最终字符串TYPE2=“bar”;
}
公共接口CustomQueryRepository扩展了GraphRespository{
@质疑(
值=
“开始c=节点({0})”
+“其中c.type!={custype1}”
+“或c.type!={custype2}”
+“返回不同的c,c.type作为compType”,
参数={
“custType1”,CustTypes.TYPE1,
“custType2”,CustTypes.TYPE2
})
Iterable getTypes(列表节点ID);
}
我还尝试过为
节点ID
使用一个命名参数(带有
@Param
),但没有任何区别

这里缺少什么,或者我不能将
Query.params
与方法参数混合使用吗

我使用的是spring-data-neo4j版本
2.3.0.M1


谢谢,根据我在参考文档中读到的内容,

,似乎只有在实体字段用@Query注释时才使用@Query的param属性

编辑: 事实上,我发现了一个记录这种行为的问题。我仍然认为应该在SDN文档中提及:


TLDR:Param属性在存储库中不起作用(但)

从参考文档中我读到的内容来看,@Query的Param属性似乎只在实体字段用@Query注释时使用

编辑: 事实上,我发现了一个记录这种行为的问题。我仍然认为应该在SDN文档中提及:


TLDR:Param属性在存储库中不起作用(但)

我认为应该在SDN文档中的某个地方提到它,因为
params
@Query
中没有明显的效果,当在repositories中使用时,我认为应该在SDN文档中的某个地方提到它,因为在存储库中使用时,
params
@Query
s中没有明显的效果