Android Room SQLite_ERROR нет такой таблицы

Для этого используется Object#equals() . Вы можете изменить (исправить) это поведение, применив его соответственно к вашей сущности.

private Long id;

@Override
public boolean equals(Object other) {
    return (other != null && getClass() == other.getClass() && id != null)
        ? id.equals(getClass().cast(other).id)
        : (other == this);
}

Не забывайте, что hashCode() удовлетворяет equals-hashCode контракт .

@Override
public int hashCode() {
    return (id != null) 
        ? (getClass().hashCode() + id.hashCode())
        : super.hashCode();
}

Если вы не можете изменить существующий объект по какой-то неясной причине, оберните его в свой собственный DTO.

Конвертер преобразует только объект и его уникальный String для использования в выводах HTML и HTTP-запроса и поэтому не влияет на выбор. Это влияет только на потенциальную ошибку Validation: значение недействительно .

См. Также:

20
задан jampez77 9 August 2017 в 15:14
поделиться

2 ответа

Если Вы просто добавили новую таблицу, просто обновите свой класс Базы данных (Что один класс, расширяющий RoomDatabase () класс), и обновите аннотацию объектов

@Database(entities = [User::class, NewTableHere::class], version = 1)
abstract class AppDatabase : RoomDatabase() {

Желание, это экономит Вам время при поиске ответа, счастливом кодировании.

0
ответ дан 29 November 2019 в 00:40
поделиться

Это помогло мне много видеть статьи. У меня был этот errorDatabase (объекты = {Folder.class}, версия = 1, exportSchema = ложь)

просто добавляют мой другой класс @Database (объекты = {Folder.class, Urls.class}, версия = 1, exportSchema = ложь)

-1
ответ дан 29 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: