【发布时间】:2017-11-30 09:42:33
【问题描述】:
我有一个主对象,它的嵌套对象都是从 RealmObject 扩展而来的。 在使用主对象之前,我会存储所有嵌套对象。
删除带有这些嵌套对象的主对象后,我注意到嵌套对象仍被存储,但无法通过“equalTo()”方法使用它们的主键选择。
我用
过滤 nObject2realm.where(nObject2.class).equalTo("nObject1.Oid",givenOid).findAll()
作为用户选择的 RealmResults。如果尚未删除任何 mObject,则结果是正确的。但是如果一个 mObject 被删除,相关的 nObject2 不会在下次给定nObject1.Oid 的结果中列出。
我通过copyToRealmOrUpdate() 或insertOrUpdate() 存储了所有这些对象,并且没有任何更改并通过mObject RealmResults.deleteAllFromRealm() 全部删除
嵌套对象1;
public class nObject1 extends RealmObject implements Serializable {
private Date LastModifiedOn;
private String LastModifiedBy;
private Date CreatedOn;
private String CreatedBy;
@PrimaryKey
private String Oid;
//getters and setters
}
嵌套对象2;
public class nObject2 extends RealmObject implements Serializable {
private nObject1 nObject1;
private Date LastModifiedOn;
private String LastModifiedBy;
private Date CreatedOn;
private String CreatedBy;
@PrimaryKey
private String Oid;
//getters and setters
}
和主对象;
public class mObject extends RealmObject implements Serializable {
private nObject1 nObject1;
private nObject2 nObject2;
private Date LastModifiedOn;
private String LastModifiedBy;
private Date CreatedOn;
private String CreatedBy;
@PrimaryKey
private String Oid;
//getters and setters
}
【问题讨论】:
标签: java android database realm