Исключение Realm field not found

#android #realm

#Android #область

Вопрос:

Я пытаюсь внедрить Realm в свой проект. Я продолжаю сталкиваться с этим

 java.lang.IllegalArgumentException: Invalid query: field '_id' not found in class 'messages'.
  

Примечание: MESSAGE.COLUMN_ID = "_id"

Запрос

Запрос

Logcat печатает true для hasField.

Модель

введите описание изображения здесь

То же самое отлично работает для других таблиц.

Комментарии:

1. в именах других таблиц есть символ подчеркивания ‘_’?

Ответ №1:

Типизированные запросы области используют имя поля в качестве аргумента и внутренне сопоставляются с именем поля внутренней схемы.

Следовательно, ваш запрос должен выглядеть следующим образом:

 MessageDto messageDto = realmInstance.where(MessageDto.class)
                              .equalTo("mLocalId", query.getMessageId())
                              .findFirst();
  

Комментарии:

1. Это было для меня. Действительно хотелось бы, чтобы в документах упоминалось об этом