La bonne façon de créer un nouveau RealmObject avec une clé primaire existante est d'utiliser realm.createObject(EmailRealmModel.class, emailID)
méthode.
Fragment de code complet :
realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();
Ou, si vous souhaitez que la mise à jour soit stockée dans un objet de domaine en utilisant l'une des instances en mémoire, vous devez appeler realm.copyToRealmOrUpdate(obj)
.
Exemple tiré de la documentation :
// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);