我正在尝试在桌面应用程序上使用 ormlite 4.42 和 sqlite持久化一个惰性ForeignCollection 。
我有一个Event
包含以下集合的类EventDate
:
@DatabaseTable(tableName = "event")
public class Event extends BaseDaoEnabled<Event, Integer> implements Scrap {
@DatabaseField(generatedId = true, columnName = "_id")
private int id;
@ForeignCollectionField(eager = true)
private ForeignCollection<EventDate> dates;
}
EventDate
课程是:
@DatabaseTable(tableName = "eventdate")
public class EventDate extends BaseDaoEnabled<EventDate, Integer> {
@DatabaseField(generatedId = true, columnName = "_id")
int id;
@DatabaseField(canBeNull = true, foreign = true)
Event event;
}
这是我用来添加EventDates
和持久化它们的代码:
Event e2 = eventDao.queryForId(id));
e2.getDates().clear();
for (final EventDate date : dates) {
e2.getDates().add(date);
e2.getDates().update(date);
}
e2.update();
已EvenDates
正确添加到 sqlite 表中,但该字段event_id
为 null :EventDates
未链接到Event
.
我没有错误信息。我究竟做错了什么 ?
注意:我尝试了急切的收集(添加e2.getDates().updateAll()
),但它也不起作用。