我有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如何设法解决这种情况。 有什么想法吗?
答案 0 :(得分:2)
也许是因为你没有写 No-arg构造函数。 因此,gradle不会自动初始化to-one和to-many关系。
崩溃说
ToOne object is null inside ...