Я успешно получил и отобразил все данные 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
.
Есть идеи, как решить эту проблему?