如何查询Room数据库中对象的单个变量?

时间:2019-01-27 22:49:06

标签: java android-studio android-room

我已成功使用以下方法检索并显示了所有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

关于如何解决此问题的任何想法?

0 个答案:

没有答案