Как мне запросить одну переменную объекта в базе данных Room? - PullRequest
0 голосов
/ 28 января 2019

Я успешно получил и отобразил все данные Room, используя:

@Query( "SELECT * FROM my_table" )
LiveData<List<MyRoomEntity>>getAllData();

, но я испытываю трудности при запросе одной переменной.Я пробовал это:

@Query( "SELECT name FROM my_table" )
LiveData<List<MyRoomEntity>>getAllNames();

, но это дает мне следующее error message:

Error:(31, 33) error: The columns returned by the query does not have the fields [id] in xxx even though they are annotated as non-null or primitive. Columns returned by the query: [name]

Означает ли это, что я должен также включает id, потому что он не обнуляем (примитив)?

Как мне обойти это?Могу ли я превратить его в Integer, чтобы его можно было обнулить?Если да, автоматически обнуляются (не включены) в моем запросе?

Я попытался добавить вместо этого variable (имя) как String в список, например:

@Query( "SELECT name FROM my_table" )
LiveData<List<String>>getAllNames();

И хотя это работает, это не решение, поскольку List должен быть передан RecyclerView, который принимает объект MyRoomEntity.

Есть идеи, как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...