我在我的 android 项目中使用 ormlite。我有两节课
@DatabaseTable(tableName = "usershows")
public class UserShow {
@DatabaseField(id = true)
private Integer showId;
@ForeignCollectionField(eager = false)
private ForeignCollection<Episode> episodes;
...
}
@DatabaseTable(tableName = "episodes")
public class Episode {
@DatabaseField(id = true)
private Integer episodeId;
@DatabaseField(foreign = true)
private UserShow show;
...
}
我正在保存我的 UserShows 对象,例如示例
UserShow show = new UserShow();
userShowDao.create(show);
for (Episode e: eps) {
e.setShow(show);
episodeDao.create(e);
}
UserShow 对象有一个国外的惰性集合情节,但是当我试图获取所有 userShows 时:
shows = userShowsDao().queryForAll();
我正在获取所有带有剧集集合的节目对象。为什么会发生这种情况?集合是懒惰的,我必须得到 null 或其他东西,但没有 Episode 对象的集合。如何让这个集合真的很懒?如果 ORMLite 能够在没有惰性集合的情况下获取对象并在真正需要时进行初始化,那可能会很酷。例如作为Hibernate.initialize
方法。
谢谢!