java - Spring 数据neo4j : How to append dynamic @Query?

标签 java neo4j spring-data-neo4j neo4j-ogm

当 Neo4jRepository 中有复杂查询时,如何生成 @Query 的动态值?喜欢:

@Repository
public interface StockRepository extends Neo4jRepository<StockNode,Long> {

     @Query("match (n:stock) where n.name={aShareShortName} return n")
    List<StockNode> getStockNodeByAShareShortName(@Param("aShareShortName") String aShareShortName);

    @Query("match (n:stock) where n.{indexName}={indexContent} return n")
    List<StockNode> getStockNodeByQueryProperty(@Param("indexName")String indexName,String indexContent);

}

第一个方法getStockNodeByAShareShortName是好的。但第二个 getStockNodeByQueryProperty 失败了。是否有任何方法可以在 n.{xxx}n.?1n.:xx 中生成动态属性键?

最佳答案

要创建动态属性或动态查询,您需要使用 session(import org.neo4j.ogm.session.Session;) 然后您可以创建动态查询并附加您的 where 条件

字符串查询=“匹配(n:股票)其中”DYNAMIC_FIELD+“=”+VALUE session.query(Map.class, 查询, 查询参数);

关于java - Spring 数据neo4j : How to append dynamic @Query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065067/

相关文章:

java - 检查 SQLITE 中的上一个和下一个条目

java - 返回传入和传出关系 - Cypher - 非常慢

java - Neo4j 3.1遍历API,如何找到两个节点之间的最短路径?

neo4j - 为用户删除 Neo4j 中的所有关系和连接节点

java - 从 SDN+OGM 切换到 SDN/RX 时替换 @QueryResult

neo4j - Spring 数据 Neo4j : why save method takes so long?

java - robovm 插件无法在 Android Studio intellij 和 el Capitan 10.11.1 上启动

java - 如果传递了错误类型的对象,我应该抛出什么类型的异常?

Java DDS无界序列导致内存不足错误

neo4j - Neo4j与Electron的结合