我已成功使用以下方法检索并显示了所有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
。
关于如何解决此问题的任何想法?