对于一个 android 项目,我使用的是 ORMLite 4.45 版。我有一个带有 foreignAutoCreate 字段的组织模型。
组织模式:
@DatabaseTable
public class Organisation {
@DatabaseField (id = true)
private UUID organisationGuid;
@DatabaseField(foreign=true, foreignAutoCreate = true, foreignAutoRefresh=true)
private Telnr telNr;
Telnr 型号:
@DatabaseTable
public class Telnr {
@DatabaseField(generatedId = true)
private int telnrId;
@DatabaseField
private String number;
当我使用 organizationDao.createIfNotExists(organisation) 将组织模型添加到数据库时,一切都很好。它在组织和 telnr 表中创建一条新记录,并将生成的 telnr id 放入组织表中。
现在我创建一个具有相同组织 UUID 的新组织模型并执行更新
Organisation organisation = new Organisation();
organisation.setOrganisationGuid('same id');
organisation.setTelNr(new Telnr());
organisationDao.update(organisation);
我希望更新组织表中的记录,包括 Telnr 表中的记录。相反,组织记录被更新,但组织表中的 telnr id 变为null。有没有办法更新组织和 telnr 表并保持 id 不变?