Выбор ответа Junior Room и хранение данных спрашивают часто обновлено
Когда Room проверяет SQL-запросы
Вопрос
Что произойдёт, если в @Query у DAO опечатка в имени колонки?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Сборка упадёт с ошибкой: Room проверяет запросы при компиляции. Обработчик аннотаций Room (KSP) разбирает SQL из @Query и сверяет его со схемой сущностей во время сборки.
Варианты ответа
- Приложение упадёт с
SQLiteExceptionпри первом выполнении запроса - Сборка упадёт с ошибкой: Room проверяет запросы при компиляцииправильный ответ
- Запрос вернёт пустой список и запишет предупреждение в Logcat
- Room сопоставит колонку по похожему имени и выдаст warning
Разбор
Обработчик аннотаций Room (KSP) разбирает SQL из @Query и сверяет его со схемой сущностей во время сборки. Опечатка в таблице или колонке даёт ошибку компиляции. Это одно из главных преимуществ перед ручным SQLiteOpenHelper, где такие ошибки находятся только в рантайме.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.