0

假设以下数据结构。

    @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 的父母和 null parent_id 的孩子

如果我做

 childDao.create(child);
 parentDao.create(parent);

我有一个 parent_id 为 null 的孩子和 parent_id 相同的孩子。

是否有可能以某种方式保存这个结构?

4

1 回答 1

0

正确的做法是首先创建对象parent,以便ORMLite可以分配自动创建的 ID。然后在使用. _ _ 所以像:parentchildparentchildchildDao

parentDao.create(parent);
child.parent = parent;
childDao.create(child);

您还可以使用foreignautocreate如果它没有设置 ID,它将自动创建父级。

于 2012-12-03T01:49:04.210 回答