我正在使用Spring neo4j和Java。我有@NodeEntity
在我希望持久化的类上。在其中一些类中,我有用@RelatedTo
和@Fetch
注释的数据成员。我希望能够删除我的一个包含@NodeEntity
的类,并删除所有连接到它的数据内存vi its@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执行此操作?
你也许想试试
@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…]
。