De juiste manier om een nieuw RealmObject met bestaande primaire sleutel te maken, is door realm.createObject(EmailRealmModel.class, emailID)
te gebruiken. methode.
Volledig codefragment:
realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();
Of, als u wilt dat de update wordt opgeslagen in een realm-object met behulp van een van de inmemory-instanties, moet u realm.copyToRealmOrUpdate(obj)
aanroepen. .
Voorbeeld uit documentatie:
// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);