SQLite
 sql >> Base de données >  >> RDS >> SQLite

Domaine Android Gestion de la clé primaire dans l'objet relationnel

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);