gpt4 book ai didi

java - 如何部分更新 Realm 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:22 24 4
gpt4 key购买 nike

如何部分更新 Realm 对象?

假设我有一个这样的模型:

class Person {
@PrimaryKey long id;
String name;
Address address;
}

假设我将我的本地 Realm 数据库与后端同步,并且后端只给我一个 Personidname,其中 name已更改(无地址)。

如何只更新 Person.name ?此外,我希望 Person.address 保留在本地数据库中。

最佳答案

您只能插入/复制/更新整个对象,不能指定“您不想保存哪些字段”。所以你应该查询你的对象并设置它的内容,然后将它保存回来。

final Address address = getAddress();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
Person person = realm.where(Person.class).equalTo(PersonFields.ID, id).findFirst();
if(person == null) {
person = new Person(); // or realm.createObject(Person.class, id);
person.id = id;
}
person.address = address;
realm.insertOrUpdate(person);
}
});

关于java - 如何部分更新 Realm 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076674/

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