1
私は他のオブジェクトとたくさんの関係を持っている大きなオブジェクトを持っていて、それらのオブジェクトは他のオブジェクトとの関係も持っています。だから、私は、ルートオブジェクトを削除すると、私はすべての関係がされていない間に親オブジェクトだけが削除されていることがわかった、同じトランザクションでツリー全体を削除する方法はありますか?レルムオブジェクトを子関係で削除するにはどうすればよいですか?
私は他のオブジェクトとたくさんの関係を持っている大きなオブジェクトを持っていて、それらのオブジェクトは他のオブジェクトとの関係も持っています。だから、私は、ルートオブジェクトを削除すると、私はすべての関係がされていない間に親オブジェクトだけが削除されていることがわかった、同じトランザクションでツリー全体を削除する方法はありますか?レルムオブジェクトを子関係で削除するにはどうすればよいですか?
レルムは現在cascading delete
をサポートしていません。あなたはその機能thereに投票することができます。現在のケースでは、手動で1つずつ行う必要があるようです。
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();
}
}
});
@EpicPandaForceを回避していただきありがとうございます –