我有一个与其他对象有很多关系的大对象,这些对象也与其他对象有关系。因此,当我删除根对象时,我发现只有父对象被删除而其所有关系都没有,是否有办法删除同一事务中的整个树?
答案 0 :(得分:12)
Realm目前不支持cascading delete
。您可以为该功能投票there。在目前的情况下,似乎你需要一个接一个地手动完成。
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
RootObj root = realm.where(RootObj.class)
.equalTo(RootObjFields.ID, rootId)
.findFirst();
if(root != null) {
if(root.getChild() != null) {
root.getChild().deleteFromRealm();
}
root.deleteFromRealm();
}
}
});