我正在使用Spring neo4j和Java。关于我希望坚持的课程我有@NodeEntity
。在其中一些类中,我的数据成员使用@RelatedTo
和@Fetch
进行了注释。我希望能够删除包含@NodeEntity
的其中一个类,并删除与其@RelatedTo
和@Fetch
注释相关联的所有数据成员。我创建了一个删除查询,试图删除通过它们的关系连接到它的节点及其节点:
@Query("start n = node:uid(uid={0}) "
+ "match n-[*]-x WITH x MATCH x-[r]-() "
+ "delete x,r")
public void deleteByUid(String uid);
这会删除顶级节点及其关系,但会留下通过该关系连接到顶级节点的节点。如何使用cypher修改查询以执行此操作?
答案 0 :(得分:2)
您可能想尝试
@Query("start n = node:uid(uid={0}) "
+ "match n-[*0..]-x WITH x MATCH x-[r]-() "
+ "delete x,r")
public void deleteByUid(String uid);
由于*
默认为[*1..]
。