将附加数据保存在ObjectBox中

时间:2018-06-21 16:44:25

标签: android objectbox

有一个类似于以下的类结构:

@Entity
public class A
{public ToOne<B> b;}

@Entity
public class B{public ToOne<C> с;}

@Entity
public class C{public ToOne<D> d;}

@Entity
public class D{}

它是这样填充的:

ArrayList<A> list = new ArrayList<>();
for (int i = 0; i < 10; i++){
A a = new A();
B b = new B();
C с = new C();
D d = new D();
getStore().boxFor(C).attach(c);
c.d.setTarget(d);
getStore().boxFor(B).attach(b);
b.c.setTarget(c);
getStore().boxFor(A).attach(a);
a.b.setTarget(b);
}

getStore().boxFor(A).putAll(list);

它看起来像这样:

ArrayList<A> list2 = getStore().boxFor(A).getAll();
//list2.get(0).b.getTarget() is empty

问题在于读取后的第二级为空。

1 个答案:

答案 0 :(得分:0)

尝试使用applyChangesToDb()。 文件:https://docs.objectbox.io/relations