ObjectBox崩溃 - java.lang.IllegalStateException ToOne对象为null

时间:2017-12-10 15:48:01

标签: objectbox

我有2个对象,父母拿着一个孩子列表:

@Entity
public class Parent {

    @Backlink
    public ToMany<Child> children;
    ...
}

@Entity
public class Child {

    ToOne<Parent> parent;
    ...
}

然后我在ToMany上调用size()

parent.children.size()

我得到了以下崩溃,我无法理解:

Caused by java.lang.IllegalStateException
ToOne object is null inside ...Child
io.objectbox.Cursor.nativeGetBacklinkEntities (Cursor.java)
io.objectbox.Cursor.getBacklinkEntities (Cursor.java:279)
io.objectbox.Box.internalGetBacklinkEntities (Box.java:623)
io.objectbox.relation.ToMany.ensureEntities (ToMany.java:172)
io.objectbox.relation.ToMany.size (ToMany.java:395)

看起来父母正在查看子项列表,并且每个子项都会检查父项的链接。它崩溃,因为此链接为空。 我不明白ObjectBox如何设法解决这种情况。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

也许是因为你没有写 No-arg构造函数。 因此,gradle不会自动初始化to-one和to-many关系。

崩溃说

ToOne object is null inside ...