gpt4 book ai didi

Android Realm.io - 删除子对象

转载 作者:行者123 更新时间:2023-11-30 01:39:19 32 4
gpt4 key购买 nike

假设我有一个看起来像这样的 Realm 对象结构 -

public class Person extends RealmObject {

@PrimaryKey
private int id;

private String name;

private List<Pet> pets

// Setters, getters...
}

public class Pet extends RealmObject {

private String name;

private MedicalRecord record;

// Setters, getters...

}

public class MedicalRecord extends RealmObject {

private String something;

private String somethingElse;

// Setters, getters...

}

现在我收到一个带有现有 ID(主键)的新 Person 对象,我想更新这个人。所以我做了这样的事情 -

    realm.beginTransaction();
realm.copyToRealmOrUpdate(person);
realm.commitTransaction();

问题是这个人的宠物列表(和宠物的医疗记录)仍然在数据库中。不再链接到此人,但仍然存在。

我试着这样做 -

Person existingPerson = realm.where(Person .class).equalTo("id", ID).findFirst();
existingPerson.getPets().clear();

但那里没有成功。如何删除 realmObjects 的子对象?

此外,是否有一种方法可以为 Realm 对象定义一个策略,以便一旦没有对它的引用(它没有链接到任何父对象),它就会自行删除?

最佳答案

现在您可以了,方法已从上次提交重命名为 realmList.deleteAllFromRealm()

关于Android Realm.io - 删除子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707265/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com