java - 如何使用realm.io(Java/Android)递归删除记录?

标签 java android recursion realm

如何使用realm.io递归删除具有一对多关系的记录?

例如,我有以下嵌套对象:

public class RealmUnit extends RealmObject {
    private int id;
    private RealmList<RealmChapter> chapters;
    public RealmUnit() {
        chapters = new RealmList<>();
}

public class RealmChapter extends RealmObject {
    private int id;
    private RealmList<RealmChapterGoal> chapterGoals;
    public RealmChapter() {
        chapterGoals = new RealmList<>();
    }
}

public class RealmChapterGoal extends RealmObject {
    private String type;
    private String text;
    public RealmChapterGoal() {}
}

最佳答案

目前 Realm 不进行级联删除,但它在我们的 TODO 中并在此处跟踪:https://github.com/realm/realm-java/issues/1104

不幸的是,现在您唯一的选择是手动自下而上的方法。

for(RealmChapter chapter: realmUnit.getChapters) {
 chapter.getChapterGoals().clear();
}

realmUnit.getChapters().deleteAllFromRealm();
realmUnit.deleteFromRealm();

这里还描述了一些其他解决方法: https://github.com/realm/realm-java/issues/2717

关于java - 如何使用realm.io(Java/Android)递归删除记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32054313/

相关文章:

java - 按创建日期对自定义对象的 Arraylist 进行排序

java - 时空高效的字典实现

java - WSDL URL 的 Maven 过滤

android - ADB 未找到设备

PHP FTP 递归目录列表

java - 向 JSON 无缝添加新字段

android - dagger2,我如何调用 SubComponent 的 @BindsInstance 表示方法..?

android - 不确定的微调器与 id.menu_refresh 大小不同?

java - 如何递归删除未排序列表中小于给定 int 的所有元素?

algorithm - 为什么我的递归函数在 R 中这么慢?