使用object参数进行查询

时间:2018-02-15 08:12:54

标签: android android-room

如何使用类的实例作为数据源进行房间查询: 以下示例将使我的问题清楚:

@Query("UPDATE CATEGORIES SET Name = :item.Name, Active = :item.Active " +
"WHERE CategoryID = :item.CategoryID")
fun updateCategory(item: EntityCategory)

我试过

@Update
fun updateCategory(item: EntityCategory)

但这会删除所有退回数据

我的实体课程:

@Entity(tableName = "CATEGORIES")
data class EntityCategory(
        @PrimaryKey(autoGenerate = false)
        var CategoryID: Long,
        var Name: String,
        var Active: Boolean) {
    constructor(item: DMCategory) : this(item.CategoryID, item.Name, item.Active)
}

我无法自动生成主键。

1 个答案:

答案 0 :(得分:1)

尝试

@Insert(onConflict = OnConflictStrategy.REPLACE)