【发布时间】:2020-03-16 23:49:30
【问题描述】:
我想获取 MyModel 的列表,其 deletedAt 值为 NULL。
这是我的桌子:
@Entity(tableName = "my_table")
data class MyModel(
@PrimaryKey
@ColumnInfo(name = "id")
var id: String,
@ColumnInfo(name = "deletedAt")
var deletedAt: Date? = null
)
道:
@Dao
abstract class MyDao : BaseDao<MyModel> {
@Query("SELECT * from my_table WHERE deletedAt IS NULL")
abstract fun getList(): LiveData<List<MyModel>>
}
我的类型转换器:
object DateTypeConverter {
@TypeConverter
@JvmStatic// It need to added else gives unwanted data binding error :D
fun fromTimestamp(value: Long?): Date? {
return if (value == null) null else Date(value)
}
@TypeConverter
@JvmStatic
fun dateToTimestamp(date: Date?): Long? {
return date?.time
}
但即使对于某些条目,deletedAt 值为 null,它也会返回所有 MyModel 数据。
【问题讨论】:
-
您的查询似乎有误,您是在检查 createdAt null 还是 deletedAt?我觉得应该是
@Query("SELECT * from my_table WHERE deletedAt IS NULL"). -
抱歉,我已经更新了我的问题。
标签: java android kotlin android-room kotlin-coroutines