假设以下数据结构。
@DatabaseTable
public class Parent {
@DatabaseField(generatedId=true)
public int id;
@DatabaseField
public String name;
@ForeignCollectionField
public ForeignCollection<Child> child;
}
and the following Child Class.
@DatabaseTable
public class Child {
@DatabaseField(generatedId=true)
public int id;
@DatabaseField
public String name;
@DatabaseField(foreign = true, foreignAutoRefresh = true)
public Parent parent;
}
当我想要保存数据时,我有两个孩子的父母。
如果我执行以下操作:
parentDao.create(parent);
我有Id的父级和子级为parent_id的子级
如果我这样做
childDao.create(child);
parentDao.create(parent);
我有一个null parent_id和child_id的孩子。
是否有可能以某种方式保存此结构?
答案 0 :(得分:0)
正确的方法是首先创建parent
对象 ,以便ORMLite可以分配自动创建的ID。然后,在使用parent
创建child
之前,在parent
的{{1}}字段上设置child
。如下所示:
childDao
您还可以使用foreignautocreate,如果没有设置ID,它将自动创建父级。