似乎是 autoGenerate = true不起作用,但是java代码并没有问题,正常写有注解@PrimaryKey(autoGenerate = true)对应的字段创建是不需要对主键赋值,但是kotlin的检测是你不赋值或者有空检测(?=null),代码不会让你编译的,真是贼坑啊!!!!!!
解决方法只需要提前将主键赋值val accountId:Int=0
package com.yuge.passwords.db.entity
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = "table_account")
data class Account (
@PrimaryKey(autoGenerate = true)
val accountId:Int=0,
//账户名
var accountName:String?=null,
//用户名
var username:String?=null,
//密码
var password:String?=null,
//备注
var remark:String?=null,
//查询次数
var searchNum:Int?=null,
//重要等级
var grade:Int?=0,
//是否是自动生成
var isAutoGenerate:Boolean?=false
)