从 RealmList 中删除 RealmObject

Deleting RealmObject from RealmList

我有一个名为 RealmObjectA,它包含在 RealmObjects B and C 中的 RealmList 中。 BC 都有 many to many 关系。

我如何从 B 中的 RealmList 中删除 A 但保持它与 C 的关系(即它应该仍然在 Cs RealmList )?

简而言之,我需要知道如何从 RealmList 中删除一个对象而不影响同一对象的其他关系(而不是从 Realm 中删除它)。

就像任何列表一样,真的。

realm.executeTransaction(new Realm.Transaction() {
    B b = realm.where(B.class).equalTo(BFields.ID, bId).findFirst();
    Iterator<A> iterator = b.getRealmList().iterator();
    while(iterator.hasNext()) {
        A a = iterator.next();
        if(a.getId().equals(idToDelete)) {
            iterator.remove(); // removes from realm list, but not from Realm
            break;
        }
    }
});

但我认为如果您重新定义 hashCode()equals() 以基于主键工作,那么它也应该与 remove(Object object) 一起可靠地工作。