Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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 spring数据neo4j中的Cypher查询与Cypher dsl_Java_Neo4j_Cypher_Spring Data Neo4j_Dynamicquery - Fatal编程技术网

Java spring数据neo4j中的Cypher查询与Cypher dsl

Java spring数据neo4j中的Cypher查询与Cypher dsl,java,neo4j,cypher,spring-data-neo4j,dynamicquery,Java,Neo4j,Cypher,Spring Data Neo4j,Dynamicquery,我想知道Spring data neo4j框架中的neo4j dsl推荐。 到目前为止,我使用graphrespository,NamedIndexRepository等创建存储库接口,并使用带有@query注释的自定义cypher查询编写自定义方法,如下所示: @Query(value="START root=node:__types__(className='com.data.EntityNode') WHERE root.id={0} and " + "root.type=

我想知道Spring data neo4j框架中的neo4j dsl推荐。
到目前为止,我使用
graphrespository
NamedIndexRepository
等创建存储库接口,并使用带有
@query
注释的自定义cypher查询编写自定义方法,如下所示:

@Query(value="START root=node:__types__(className='com.data.EntityNode') WHERE root.id={0} and "
        + "root.type={1} return root")  
T findByIdAndType(String id, String type);  

以上方法在考虑静态查询时效果良好。但现在我需要使用其他方法,根据需要生成密码查询!。然后我遇到了neo4jdsl库,它看起来像是满足我需求的解决方案。
参考:

我的问题是:

  • 在Spring数据neo4j中使用
    neo4j dsl
    lib可以吗(我使用的是v2.1.0版本)?或
  • 对于给定的情况集,是否有其他方法可以在spring数据neo4j中生成动态密码查询?而且更有趣
  • 是否可以从cypher dsl生成查询并将其传递到我的自定义存储库接口,执行它们并获得结果(我的意思是
    @query
    value)?因为如果是的话,我就不必对现有的设计进行重大修改
  • 谢谢

  • 更新至3.0.1.1版本
  • 可以使用cypher DSL
  • 由于注释是编译时的,而Cypher DSL是运行时的,所以您不能在那里使用它们,但是
  • 您可以从CypsursLRepository继承,它为您的存储库添加了一些不错的方法

  • 不是答案,而是一些反馈:

    Cypher DSl已于去年重新启动,现在已成为Spring数据Neo4j 6不可或缺的一部分

    我们的新文档举了一个例子:所有从DSL生成的语句都可以传递到Neo4j模板


    我希望有人会觉得这很有用。

    哦,太好了,我也刚刚得到了这个链接。我现在无法将我的Spring data neo4j版本升级到3.0.1。我想它需要Spring版本3.2.5。现在偏好是否随着时间的推移而改变?我找到官方的spring数据neo4j参考。