我試圖在桌面應用程序上使用ormlite 4.42和sqlite來保留一個懶惰的。如何使用ormlite 4.42來保存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();
在sqlite表中正確添加EvenDates
,但字段event_id
爲空:EventDates
未鏈接到Event
。
我沒有錯誤信息。 我在做什麼錯?
注:我嘗試了渴望收集(加入e2.getDates().updateAll()
),但它也不起作用。
您是否爲要更新的對象設置了Dao? –
stephen