我正在创建一个实体(Room Persistence Library)类Food,在这个类中,我想将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
设置为自动增量字段?
发布于 2017-05-22 17:51:13
发布于 2017-10-15 18:01:44
您可以像这样添加@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 // or foodId: Int? = null
var calories: Double = 0.toDouble()
}
发布于 2020-08-18 06:07:18
在这么多答案之后,这真是令人难以置信,但我最后做的几乎没有什么不同。我不喜欢主键可以为空,我想让它作为第一个参数,也想在不定义它的情况下插入,而且它也不应该是var。
@Entity(tableName = "employments")
data class Employment(
@PrimaryKey(autoGenerate = true) val id: Long,
@ColumnInfo(name = "code") val code: String,
@ColumnInfo(name = "title") val name: String
){
constructor(code: String, name: String) : this(0, code, name)
}
https://stackoverflow.com/questions/44109700
复制相似问题