Я видел эту проблему номер-ошибки-столбцы-возвращенные-по-запросу-не-поля-поля-имени но я не могу применить его к своему собственному ошибка.
Это мой Movie
класс
@Entity
public class Movie {
@PrimaryKey
@NonNull
public String id;
@ColumnInfo
public String name;
@ColumnInfo
public String title;
}
Это мой UpcomingMovies
класс
@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;
}
Запрос, который я пытаюсь выполнить, и который я хочу получить Список фильмов
@Query("Select movie from UpcomingMovies")
LiveData<List<Movie>> loadUpcomingMovies();
И конкретную ошибку я получаю
ошибка: столбцы, возвращаемые запросом, не имеют полей [id] в * .Model.POJOs.Movie, даже если они аннотированы как ненулевые или примитивные. Столбцы, возвращаемые запросом: [фильм]
Что я здесь пропустил?
Редактировать: Добавлено MovieConverter
public class MovieConverter {
@TypeConverter
public String movieToString(Movie movie) {
return new Gson().toJson(movie);
}
@TypeConverter
public Movie stringToMovie(String src) {
return new Gson().fromJson(src, Movie.class);
}
}