Выбор ответа Junior Room и хранение данных спрашивают часто обновлено

Когда Room проверяет SQL-запросы

Вопрос

Что произойдёт, если в @Query у DAO опечатка в имени колонки?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сборка упадёт с ошибкой: Room проверяет запросы при компиляции. Обработчик аннотаций Room (KSP) разбирает SQL из @Query и сверяет его со схемой сущностей во время сборки.

Варианты ответа

  1. Приложение упадёт с SQLiteException при первом выполнении запроса
  2. Сборка упадёт с ошибкой: Room проверяет запросы при компиляцииправильный ответ
  3. Запрос вернёт пустой список и запишет предупреждение в Logcat
  4. Room сопоставит колонку по похожему имени и выдаст warning

Разбор

Обработчик аннотаций Room (KSP) разбирает SQL из @Query и сверяет его со схемой сущностей во время сборки. Опечатка в таблице или колонке даёт ошибку компиляции. Это одно из главных преимуществ перед ручным SQLiteOpenHelper, где такие ошибки находятся только в рантайме.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.