Правилният начин за създаване на нов RealmObject със съществуващ първичен ключ е използването на realm.createObject(EmailRealmModel.class, emailID)
метод.
Фрагмент от пълен код:
realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();
Или, ако искате актуализацията да се съхранява в обект на realm, използвайки един от екземплярите на inmemory, трябва да извикате realm.copyToRealmOrUpdate(obj)
.
Пример от документацията:
// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);