#java #sql #repository #android-room #dao
#java #sql #репозиторий #android-комната #dao
Вопрос:
Как вы видите на изображении ниже, я отправляю workoutExercise=20 в функцию updateWorkoutExercise моего репозитория.
//Repository:
public Completable updateWorkoutExercise(Long workoutExercise, String exerciseName) {
WorkoutExercise we = workoutExerciseDAO.getWorkoutExercise(workoutExercise);
Exercise e = exerciseDAO.getExerciseByName(exerciseName);
we.exercise = e.id;
return workoutExerciseDAO.update(we);
}
Я ожидал бы увидеть тот же результат, что и мой инспектор базы данных, если я использую ту же строку SQL.
//workoutExerciseDAO:
@Query("SELECT * FROM workoutExercises WHERE id = :workoutExercise LIMIT 1")
WorkoutExercise getWorkoutExercise(Long workoutExercise);
Но мой DAO возвращает значение null. Почему это должно быть?
Заранее благодарю.
Ответ №1:
В случае, если вы получили вышеуказанную ошибку, оказывается, у меня было две базы данных. Имена баз данных, похоже, зависят от конкретного регистра, и часть моего кода обращалась к старой базе данных.