google-cloud-datastore – 如何在Objectify中实现级联删除?

我有以下的嗜好.

GrandParent – >家长 – >儿童

父母和子女使用@Parent Ref< GrandParent>和@Parent Ref< Parent>创造父母关系.

我试图用一种很好的方法为GrandParent进行级联删除.

我当然可以加载所有孩子,从他们生成密钥并按键删除.这看起来非常低效.是否存在我可以通过父查询并将查询结果转换为键列表而无需进行完整提取的内容?

欢迎任何想法或第三方图书馆.

基本上,迈克尔说,但这是我发现的最干净的方式.

ofy().delete().keys(ofy().load().ancestor(entityKey).keys().list()); // ancestor included

这里的entityKey是你要删除的实体的关键(以防万一)

>这将处理任何级别的孩子,无论他们的类型.
>由于只使用密钥查询密钥(),因此您将获得一个便宜的呼叫

翻译自:https://stackoverflow.com/questions/26455098/how-do-you-implement-cascading-delete-in-objectify

转载注明原文:google-cloud-datastore – 如何在Objectify中实现级联删除?