过去几天我一直在搜索,但找不到满足我的答案。
是的,我确实在查看此帖how-do-you-implement-cascading-delete-in-objectify以及Google Developer论坛的其他帖子。
每个人都说"它与关系数据库"不同,但是没有人为此发布实现。
这些是我的模特,
大学
public class University{
@Id
private Long id;
private String title;
List<Ref<College>> colleges = new ArrayList<>();
}
医学院
public class College{
@Id
private Long id;
private String title;
}
我简化了模型,使其看起来更干净。我想同时删除大学和学院。
在此示例中,有两个级别的层次结构,但在我的项目中,我有三个级别的层次结构。找到一个实体的孩子和孙子并删除它们对我来说似乎并不高效。
答案 0 :(得分:1)
每个人都说它与关系数据库不同。
您没有 relationship ,因此根据定义,您无法删除“所有相关对象”。您必须逐个删除每个实体。
答案 1 :(得分:0)
你不能。
如果您的数据确实是一个未引用的层次结构,请考虑使用嵌入对象对其进行建模,因此只有一个基础文档。然后,更新或删除将在一个数据存储区实体上。
如果不是,那么当你想要删除时,必须有关于可以和不能删除的内容的逻辑,你需要自己编程