sql >> Base de Datos >  >> RDS >> SQLite

Android Realm Manejo de clave principal en objeto relacional

La forma correcta de crear un nuevo RealmObject con la clave principal existente es usar realm.createObject(EmailRealmModel.class, emailID) método.

Fragmento de código completo:

realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();

O bien, si desea que la actualización se almacene en un objeto de reino utilizando una de las instancias en memoria, debe llamar a realm.copyToRealmOrUpdate(obj) .

Ejemplo de la documentación:

// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);