相关疑难解决方法(0)

在Android上使用ORMLite保存嵌套的外部对象

在Android上工作时,ORMLite是否只保存浅层对象?我有一个嵌套对象的数据结构,这两个对象都是新创建的,我希望能够通过一次调用dao.create()来保存它们.

例如,我有以下父类.

@DatabaseTable
public class Parent {

  @DatabaseField(generatedId=true)
  public int id;

  @DatabaseField
  public String name;

  @DatabaseField
  public Child child;
}
Run Code Online (Sandbox Code Playgroud)

和以下儿童班.

@DatabaseTable
public class Child {

  @DatabaseField(generatedId=true)
  public int id;

  @DatabaseField
  public String name;
}
Run Code Online (Sandbox Code Playgroud)

我希望能够做到以下几点.

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);
Run Code Online (Sandbox Code Playgroud)

执行此操作时,父对象是持久的但不是子对象,并且child_id父表中的自动生成列设置为0.这是正常行为吗?有没有办法让嵌套对象保持不变并传播主键?

android ormlite

40
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

ormlite ×1