0

我想了解 Spring data neo4j 框架中的 neo4j dsl 推荐。
到目前为止,我曾经创建从 等扩展的存储库接口GraphRepositoryNamedIndexRepository并使用带有@Query注释的自定义密码查询编写自定义方法,如下所示:

@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);  

就我考虑静态查询而言,上述方法效果很好。但是现在我需要使用其他方式来根据需要生成密码查询!然后我遇到了neo4j dsl库,它看起来像我的要求的解决方案。
参考:链接1 链接2

我的问题是:

  1. 在 Spring data neo4j中使用neo4j dsllib 是否可以(我使用的是 v2.1.0 RELEASE)?或者
  2. 对于给定的一组情况,有没有其他方法可以在 spring data neo4j 中生成动态密码查询?更有趣
  3. 是否可以从 cypher dsl 生成查询并将其传递给我的自定义存储库接口,执行它们并获得结果(我的意思是@Query价值)?因为如果是,那么我不必对现有设计进行重大更改。

谢谢

4

2 回答 2

2
  1. 更新到 3.0.1.RELEASE
  2. 可以使用 cypher DSL
  3. 由于注释是编译时,而 Cypher DSL 是运行时,你不能在那里使用它们,但是
  4. 您可以从 CypherDSLRepository 继承,它为您的存储库添加了一些不错的方法
于 2014-04-12T09:18:51.063 回答
0

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

Cypher-DSl https://github.com/neo4j-contrib/cypher-dsl已于去年重新启动,现在是 Spring Data Neo4j 6 的一个组成部分。

我们的新文档发现了一个示例:https ://docs.spring.io/spring-data/neo4j/docs/6.0.5/reference/html/#faq.custom-queries-and-custom-mappings所有语句都从DSL 可以传递给 Neo4j 模板。

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

于 2021-02-27T16:33:17.763 回答