我很难找到这个答案,文档似乎也没有回答这个问题。 如果我有一个基本的ROOM查询,
@Query("SELECT * FROM geotable WHERE geohash = :geohash")
abstract suspend fun getGeoTable(geohash: String) : GeoTable
如果没有使用这个主键的任何项,会发生什么? Android Studio说DAO对象永远不会返回null。看起来当您使用Single using RxJava时才会抛出EmptyResultSetException异常,而我没有使用它。那么当ROOM找不到任何内容时会抛出什么呢?
EmptyResultSetException
异常。但是如果有多个结果呢?这种返回类型只能获得一个结果。最好使用列表来优雅地处理所有情况,特别是当你正在使用SELECT *
查询时。 - Nicolas