room数据库查询,给出一个包含排除项的列表

f0brbegy  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(407)

我正试图查询room以获取元素列表 Entry ,但希望从 Array<Int> .
我的数据库:

@Entity(tableName = "entries", indices = [Index(value = ["id"], unique = true)])

将填充列表的对象类:

data class Entry(
@PrimaryKey(autoGenerate = false)
override var id: Int?,
override val authorId: Int)

获取所有这些元素的当前查询:

@Query("SELECT * from entries")
fun entryList() : DataSource.Factory<Int, Entry>

我有一个 Array<Int> 代表一系列 authorId 想从我的结果中排除的。
我可以过滤 entryList 但我更愿意做一个查询,以便检索一个较小的列表。
问题:我应该使用哪个查询来提取 entryList 不包括 authorId 在我的 Array<Int> ?

oxosxuxt

oxosxuxt1#

你可以试试

@Query("SELECT * FROM entries WHERE authorId NOT IN (:filterValues)")

然后传球 Array<Int> filterValues 作为参数。
看看能不能用

相关问题