我有以下 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 表中。但是,情节和时刻表根本没有填充。tvShow 对象有几个情节,每个情节都有几个时刻。我期待其他 2 个表也包含该数据,但它们没有。
我究竟做错了什么?我是否应该循环遍历每一集(然后循环遍历每一集的每个时刻)并手动插入它们?=(