• Database – это точка доступа к базе данных. Класс, аннотированный
@Database
должен удовлетворять следующим критериям:1. Быть абстрактным и наследоваться от
RoomDatabase
;2. Иметь абстрактные методы без аргументов, которые возвращают DAO-объекты;
3. Аннотация должна включать список Entity-классов, которые принадлежат этой базе данных:
@Database(entities = arrayOf(Student::class, School::class))
.• DAO (Data Access Object) – класс, который имеет методы для доступа к базе данных.
• Entity – класс, отражающий таблицу в базе данных.
Инстанс Database-компонента создается билдером, который можно получить с помощью метода Room.databaseBuilder() или Room.inMemoryDatabaseBuilder().
Database-класс дает доступ к объектам DAO, ассоциированным с базой данных.
DAO-объекты используются для получения и сохранения объектов Entity. А Entity – для получения значений, которые хранятся в таблицах базы данных.