0

我正在调查Room在我当前的 Android 项目中的使用。

com.facebook.stetho:stetho:1.5.1用于检查我的 Sqlite 表结构和内容时,我发现我的所有表都显示有两个相同的主键列。

这是一个stetho“功能”吗?

还是我以某种方式错误地声明了我的房间实体?

我所有的Kotlin数据模型类都遵循这种模式:-

@Entity(tableName = "my_table")
data class myDO(@ColumnInfo(name = "title") val title: String,
                          @ColumnInfo(name = "uuid") val uuid: String,
                          @ColumnInfo(name = "something") val something: String,
                          @ColumnInfo(name = "what_ever") val whatEver: String?,
                          @ColumnInfo(name = "misc_data") val miscData: String,
                          @ColumnInfo(name = "liked") val liked: Boolean) {
    @PrimaryKey(autoGenerate = true)
    var myId: Long = 0
}

Stetho 显示此表如下:-

+-------------------------------------------------- ----------------------------------+
|列|姓名| 我的身份证| myId |title|uuid|something|what_ever |misc_data|喜欢|
+-------------------------------------------------- --------------------------------------------------------------+

4

1 回答 1

-5

@PrimaryKey(autoGenerate = true)

既然你给了autoGenerate = true 它将创建 myId 两次并具有相同的值

删除它并尝试

于 2019-03-18T10:04:02.243 回答