【问题标题】:Spring data neo4j: How to append dynamic @Query?Spring data neo4j:如何追加动态@Query?
【发布时间】:2019-09-23 14:53:38
【问题描述】:

在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.?1 或n.:xx 中生成动态属性键?

【问题讨论】:

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


    【解决方案1】:

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

    String query="match (n:stock) where" DYNAMIC_FIELD+"=" +VALUE session.query(Map.class, query, queryParameters);

    【讨论】:

    • @SunJian 如果该答案有帮助,您可以通过单击旁边的“复选标记”将其标记为“答案”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    相关资源
    最近更新 更多