Я думаю, Room
не поддерживает динамические c tableName
.
У нас есть два способа:
1-In DAO
, мы можем заменить tableName
на фактическое имя таблицы, как определено в модели @Entity
2-Мы можем использовать @RawQuery
следующим образом:
@Dao
interface RawDao {
@RawQuery
User getUserViaQuery(SupportSQLiteQuery query);
}
SimpleSQLiteQuery query = new SimpleSQLiteQuery("SELECT * FROM User WHERE id = ? LIMIT 1",
new Object[]{userId});
User user2 = rawDao.getUserViaQuery(query);
Вы можете узнать больше на это