【发布时间】:2016-12-25 10:34:38
【问题描述】:
我有以下 3 个课程:
1) 电视节目
@Entity
public class TvShow{
@Id
private String uuid;
private String url;
private String title;
...
@ToMany(referencedJoinProperty = "tvShowUuid")
private List<Episode> episodes;
2) 剧集
@Entity
public class Episode{
@Id
private String uuid;
@ToMany(referencedJoinProperty = "episodeUuid")
private List<Moment> moments;
//FK
private String tvShowUuid;
3) 瞬间
@Entity
public class Moment{
@Id
private String uuid;
...
private String episodeUuid;
如你所见,它们之间的关系是:TvShow --> oneToMany --> Episode --> oneToMany --> Moment
假设我有一个完全填充的 TvShow 对象(称为 tvShow),我正在执行以下操作以将该对象添加到我的数据库中:
final long rowId = daoSession.getTvShowDao().insertOrReplace(tvShow);
这会正确地将 tvShow 对象添加到 TvShow 表中。 然而,Episode 和 Moment 表根本没有填充。 tvShow 对象有几个情节,每个情节都有几个时刻。我希望其他 2 个表也包含该数据,但它们没有。
我做错了什么?我是否应该循环遍历每一集(然后循环遍历每一集的每个时刻)并手动插入它们? =(
【问题讨论】:
标签: android sqlite one-to-many greendao greendao-generator