当 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
中生成动态属性键?
最佳答案
要创建动态属性或动态查询,您需要使用 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/