Можно ли обновить только одно поле в Realm? - PullRequest
0 голосов
/ 23 ноября 2018

Android Studio 3.2, Java 1.7, Realm 4.1.0

Вот мое pojo:

public class ImageFormats extends RealmObject {
    private ImageSource reference;
    private ImageSource average;
}


public class ImageSource extends RealmObject {
    private String url;
    private int width;
    private int height;
}

Вот как я обновляю reference

public void cascadeUpdate(Realm realm, ImageFormats that) {
        if (!EqualsUtil.areEqual(this.average, that.average)) {
            setAverage(that.average == null ? null : realm.copyToRealm(that.average));
        }
    }

Ниццавсе работает нормально.

Но я не хочу обновлять ВСЕ объект ImageSource, потому что может изменить только одно свойство, например url

И я пытаюсь обновитьв царство только поле, которое было изменено.Итак, я пытаюсь это:

public void cascadeUpdate(Realm realm, ImageSource that) {
        if (!EqualsUtil.areEqual(this.url, that.url)) {
            setUrl(that.url == null ? null : realm.copyToRealm(that.url)); // error here
        }
    }

Но я получаю ошибку компиляции:

error: no suitable method found for copyToRealm(String)

Итак, как я могу обновить в Realm только измененное поле?

...