gpt4 book ai didi

android - 在 Android 上使用 ORMLite 保存嵌套的外来对象

转载 作者:IT王子 更新时间:2023-10-29 00:03:18 26 4
gpt4 key购买 nike

在 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。这是正常行为吗?有没有办法让嵌套对象持久化并向上传播主键?

最佳答案

你试过了吗?

@DatabaseField(foreign = true, foreignAutoCreate = true, foreignAutoRefresh = true)
public Child child;

我正在使用 ORMLite 4.35。

关于android - 在 Android 上使用 ORMLite 保存嵌套的外来对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com