1

我有一个类似于以下的存储库,其中我使用带参数的带注释的查询。但是,当涉及到替换时,它会失败,但有以下例外:org.neo4j.cypher.ParameterNotFoundException: Expected a parameter named 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);
}

我也已经尝试过使用命名参数(with @Param),nodeIds这没有任何区别。

我在这里缺少什么,或者我不能Query.params与方法参数混合?

我正在使用 spring-data-neo4j 版本2.3.0.M1

提前致谢

4

1 回答 1

4

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

编辑:我实际上发现了一个记录这种行为的问题。我仍然认为应该在 SDN 文档中的某个地方提到它: https ://jira.springsource.org/browse/DATAGRAPH-163

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

于 2013-09-05T07:59:24.800 回答