我想知道如何更新 ORMLITE 中的异物?
假设我有这些课程
这是家长
public static class Parent {
@DatabaseField(generatedId=true,allowGeneratedIdInsert=true)
int id;
@DatabaseField
String name;
...
这是孩子
public static class Child{
@DatabaseField(generatedId=true,allowGeneratedIdInsert=true)
int id;
@DatabaseField(canBeNull = false, foreign = true,foreignAutoCreate = true,foreignAutoRefresh = true, columnDefinition = "integer references parent(id) on update cascade")
Parent parent;
...
假设我们有这些值:
对于父 id=5 名称 =“大”
对于孩子 id=338 父母 = {id=5,name="big"}
在这里,当我想更新我的父母 ID 时,它运行良好:
第一个ID = 5,最后一个ID = 6
UpdateBuilder<Parent, Integer> builder = ParentDao.updateBuilder();
builder.where().eq("id", firstId);
builder.updateColumnValue("id", lastId);
builder.update();
之后,我使用 select 命令来确保它是否已更新。我确定它正在为家长更新。但是当我更新我的父 ID 时,我的子对象中丢失了父对象。它看起来像这样:
对于父 id=6 名称 =“大”
对于孩子 id=338 父母 = {null}
有人知道对此有什么解决方案吗?