我正在使用SDN 3.1.0.RELEASE。 我尝试像
这样的danamic标签查询@Query("MATCH (n:{0}) RETURN n")
public List<SimpleArticle> findAllByDomain(String domain);
并给出SimpleArticle.class.getSimpleName()之类的String参数 当我启动测试代码时,我遇到了“{0}的语法异常”
所以我将查询更改为
@Query("MATCH (n:`{0}`) RETURN n")
此代码有效,但找不到Domain节点 结果日志是“执行远程密码查询:MATCH(n:`{0}`)RETURN n params {0 = SimpleArticle}”
所以我在查询broswer中运行这个cypher查询
MATCH (n:`SimpleArticle`) RETURN n ;
它可以工作并找到节点。
我可以在@Query中使用动态标签吗?
答案 0 :(得分:3)
标签无法参数化。其基本原理是不同的标签可能会导致不同的查询计划。参数化查询始终使用相同的查询计划 - 因此无法实现。
使用&#34;半&#34; - 动态标签的唯一方法是使用字符串连接或Cypher DSL。