1

次の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 つのテーブルにもそのデータが含まれていることを期待していましたが、そうではありません。

私は何を間違っていますか?各エピソードをループして (そして、各エピソードの各モーメントをループして) 代わりに手動で挿入する必要がありますか? =(

4

1 に答える 1