Сохранение вложенных посторонних объектов с помощью ORMLite на Android

При работе на Android ORMLite сохраняет только объекты мелкого уровня? У меня есть структура данных с вложенными объектами, оба из которых созданы заново, и я хотел бы иметь возможность сохранить их оба одним вызовом dao.create ()

Например, у меня есть следующий родительский класс.

@DatabaseTable
public class Parent {

  @DatabaseField(generatedId=true)
  public int id;

  @DatabaseField
  public String name;

  @DatabaseField
  public Child child;
}

и следующий дочерний класс.

@DatabaseTable
public class Child {

  @DatabaseField(generatedId=true)
  public int id;

  @DatabaseField
  public String name;
}

Я хочу иметь возможность делать следующее.

Parent parent = new Parent();
parent.name = "ParentName";

Child child = new Child();
child.name = "ChildName";

parent.child = child;

//  .. get helper and create dao object...
dao.create(parent);

При этом родительский объект сохраняется, но не дочерний объект, а автоматически сгенерированный столбец child_id в родительской таблице имеет значение 0. Это нормальное поведение? Есть ли способ сохранить вложенные объекты и распространить первичный ключ?

40
задан Gray 15 October 2011 в 18:44
поделиться