Let your model classes
class A extends RealmObject{ @PrimaryKey private long id; private B b; public A(){ //required empty constructor } public A(long id){ this.id = id; } public B getB(){ return b; } public void setB(B b){ this.b = b; } } class B extends RealmObject{ @PrimaryKey private long id; private RealmList<C> cList = new RealmList<>(); public B(){ //required empty constructor } public B(long id){ this.id = id; } public RealmList<C> getCList(){ return cList; } public void setCList(RealmList<C> cList){ this.cList = cList; } } class C extends RealmObject{ @PrimaryKey private long id; private Date date; private String value; //other fields.... public C(){ //required empty constructor } public C(long id){ this.id = id; } }
Example - 1: Creating new objects and assigning them according to the hierarchy
Realm realm = Realm.getDefaultInstance(); realm.beginTransaction(); C c = new C(id); realm.insertOrUpdate(c); B b = new B(id); RealmList<C> list = b.getcList(); list.add(c); realm.insertOrUpdate(b); A a = new A(id); a.setB(b); realm.insertOrUpdate(a); realm.commitTransaction();
Example - 2: Updating an existing record in the database
C c = realm.where(C.class).equalTo("id", id).findFirst(); realm.beginTransaction(); c.setValue("New Value");
source share