Мы работаем над новым приложением для Android и решили использовать Android Room.
Но есть кое-что, чего я не понимаю.
В учебнике Google они создают базу данных следующим образом:
@Database(entities = {Word.class}, version = 1)
public abstract class WordRoomDatabase extends RoomDatabase {
public abstract WordDao wordDao();
}
На самом деле у нас есть сотни сущностей, так что это значит, что я должен включить каждую аннотацию в аннотацию? Есть ли лучший способ включить их автоматически?
Также в уроке Google мы получаем дао, подобный этому:
WordRepository(Application application) {
WordRoomDatabase db = WordRoomDatabase.getDatabase(application);
mWordDao = db.wordDao();
mAllWords = mWordDao.getAllWords();
}
Это потому, что они сделали это:
@Database(entities = {Word.class}, version = 1)
public abstract class WordRoomDatabase extends RoomDatabase {
public abstract WordDao wordDao();
private static volatile WordRoomDatabase INSTANCE;
static WordRoomDatabase getDatabase(final Context context) {
...
Тот же вопрос здесь, чтобы получить wordDao
, мне нужно объявить абстрактный метод в WordRoomDatabase
, представьте, у меня есть сотни сущностей (так сотни DAO)? Есть ли способ получить напрямую дао из БД без объявления?
Спасибо.