J'ai commencé à essayer Realm pour Android, et j'ai donc créé deux classes :
class ProductSelection extends RealmObject {
private String selectedProductName;
private String selectedProductID;
…
}
class ProductProfile extends RealmObject {
private String profileTitle;
private RealmList< ProductSelection > productSelection;
…
}
J'ai ensuite créé quelques objets ProductSelection et ProductProfile.
realm.beginTransaction();
ProductSelection prodSelection = realm.createObject(ProductSelection.class);
prodSelection.setSelectedProductName(prodTv.getText().toString());
prodSelection.setSelectedProductID(prodIdTv.getText().toString());
…
realm.commitTransaction();
…
realm.beginTransaction();
ProductProfile profile = realm.createObject(ProductProfile.class);
profile.setProfileTitle(“Some Title”);
RealmResults< ProductSelection > results =
realm.allObjects(ProductSelection.class);
RealmList< ProductSelection > selectionList = new RealmList<>();
for (ProductSelection selection : results) {
selectionList.add(selection);
}
profile.setProductSelection(selectionList);
realm.commitTransaction();
J'ai maintenant les questions suivantes :
-
Lorsque j'appelle
realm.allObjects(ProductSelection.class).clear();
il semble que non seulement mes objets ProductSelection soient effacés, mais aussi la liste des objets ProductSelection qui font partie de la classe ProductProfile, car ils ne contiennent plus d'objets. Est-il possible d'empêcher cela, c'est-à-dire de supprimer tous les objets ProductSelection mais de conserver les objets qui font partie de la liste ProductProfile ?
- L'autre solution est-elle également possible, c'est-à-dire supprimer les objets ProductProfile sans supprimer les objets ProductSelection qui ne font pas partie de la liste ProductSelection ?