Почему мой DAO возвращает null, когда инспектор базы данных показывает запись?

#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:

В случае, если вы получили вышеуказанную ошибку, оказывается, у меня было две базы данных. Имена баз данных, похоже, зависят от конкретного регистра, и часть моего кода обращалась к старой базе данных.