Итак, я боролся с комнатой в течение нескольких дней, пытаясь понять, как это сделать
Моя сущность
@Entity(
foreignKeys = {
@ForeignKey(
entity = Movie.class,
parentColumns = "id",
childColumns = "movieId")
},
indices = @Index("movieId")
)
@TypeConverters(MovieConverter.class)
public class UpcomingMovies {
@PrimaryKey(autoGenerate = true)
public int id;
@ColumnInfo
public int movieId;
@ColumnInfo
public Movie movie;
}
Дао метод вставки
@Insert
void insertUpcomingMovies(List<Movie> movies);
У меня есть вспомогательный метод, позволяющий мне знать, есть ли у меня данные в этой таблице, но он продолжает возвращать 0
@Query("Select count(*) FROM UpcomingMovies")
LiveData<Integer> countUpcoming();
Что я делаю не так? UpcomingMovies
нужен List<Movie> movies
? Я рассуждаю здесь так: каждая запись в UpcomingMovies
будет иметь Movie
, поэтому мне нужен только один экземпляр Movie
, поэтому при вставке я передаю List<Movie>
. Мои рассуждения неверны?
Результат, который я ожидал, будет чем-то вроде
- UpComingId - MovieId - Фильм (Фильм в виде строки)
- 1; 33; {.. Имя: Парк Юрского периода, id: 33 ...}
- 2; 77; {.. Имя: Миссия выполнима, id: 77 ....}
Кто-нибудь подскажет, пожалуйста,