为什么“房间表”具有重复的ID列?

时间:2019-03-18 09:39:54

标签: android android-sqlite android-room stetho

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

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

这是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 | myId |标题| uuid |某物| what_ever | misc_data |喜欢|
+ ------------------------------------------------- ---------------------------------------------- +

1 个答案:

答案 0 :(得分:-2)

@PrimaryKey(autoGenerate = true)

因为您已给出 autoGenerate = true 它将创建两次myId并具有相同的值

将其删除并尝试