如何使用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/