SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Umgang mit dem Primärschlüssel von Android Realm in relationalen Objekten

Der richtige Weg, ein neues RealmObject mit einem vorhandenen Primärschlüssel zu erstellen, ist die Verwendung von realm.createObject(EmailRealmModel.class, emailID) Methode.

Vollständiges Codefragment:

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

Oder wenn Sie möchten, dass das Update im Realm-Objekt gespeichert wird, das eine der In-Memory-Instanzen verwendet, sollten Sie realm.copyToRealmOrUpdate(obj) aufrufen .

Beispiel aus Dokumentation:

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