如何将主键作为Room Persistence lib的自动增量
我正在创建一个Entity(Room Persistence lib)类的食物,在这里我想把foodId
作为自动增量。
@Entity class Food(var foodName: String, var foodDesc: String, var protein: Double, var carbs: Double, var fat: Double) { @PrimaryKey var foodId: Int = 0 var calories: Double = 0.toDouble() }
我如何设置foodId
自动增量字段?
您需要使用autoGenerate
属性
您的主键注释应该是这样的:
@PrimaryKey(autoGenerate = true)
在这里引用
你可以像这样添加@PrimaryKey(autoGenerate = true)
:
@Entity data class Food( var foodName: String, var foodDesc: String, var protein: Double, var carbs: Double, var fat: Double ){ @PrimaryKey(autoGenerate = true) var foodId: Int = 0 var calories: Double = 0.toDouble() }
例如,如果你有一个users
实体,你想存储的字段(firstname, lastname , email)
,你想要自动生成的ID,你这样做。
@Entity(tableName = "users") data class Users( @PrimaryKey(autoGenerated = true) val id: Long, val firstname: String, val lastname: String, val email: String )
然后房间会自动生成并自动递增id
字段。