如何防止删除Realm中另一个对象引用的对象?

时间:2016-08-05 23:24:03

标签: android realm

我有一个对象Person,在这个Person中我有一个City个实例。 如果我创建一个城市并将其设置为一个人,稍后我可以删除该城市而不先删除该人或将其设置为空。

这是预期的行为吗?有没有办法改变它,所以它可以像关系数据库一样使用"删除操作"你可以设置为"什么都不做","设置null"或"级联"?

1 个答案:

答案 0 :(得分:1)

Realm尚不支持级联删除。此处跟踪此问题以及一些建议的解决方法:https://github.com/realm/realm-java/issues/1104

这里也有解决方案。添加您自己的自定义“cascadeDelete”方法,如下所示:

public class Foo extends RealmObject {
  public RealmList<Foo> list;
  public String name;

  public void cascadeDelete() {
    list.deleteAllFromRealm(); // The cascade part
    deleteFromRealm(); // delete this object
  }  
}