Android 房间 rawquery 问题

nsu*_*nto 0 android kotlin android-room

我想实现 Android Room 持久化。这是我的 DAO 接口。

@Dao
interface FoodDao {

    /**
     * Returns all data in table for Paging
     *
     * @param query a dynamic SQL query
     */
    @RawQuery
    fun getAll(query: SupportSQLiteQuery): DataSource.Factory<Int, Food>
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我有这个编译错误:

错误:可观察查询返回类型(LiveData、Flowable、DataSource、DataSourceFactory 等)只能与直接或间接(例如通过 @Relation)访问至少一个表的 SELECT 查询一起使用。对于@RawQuery,您应该通过observedEntities 字段指定要观察的表列表。公共抽象androidx.paging.DataSource.Factory<java.lang.Integer, com.google.developers.teacup.data.Tea> getAll(@org.jetbrains.annotations.NotNull

小智 10

您必须指定观察到的实体:

@RawQuery(observedEntities = [Food::class])

查看更多:https : //developer.android.com/reference/android/arch/persistence/room/RawQuery