data class FavouriteEntity(
@PrimaryKey(autoGenerate = true)
val id : Int?,
@ColumnInfo(name = "user_id") var userId : String,
@ColumnInfo(name = "fav_restaurant_id") var favouriteRestaurantId : String,
@ColumnInfo(name = "fav_restaurant_name") var favouriteRestaurantName : String,
@ColumnInfo(name = "fav_restaurant_img") var favouriteRestaurantImage : String,
@ColumnInfo(name = "fav_restaurant_price") var favouriteRestaurantPrice : String,
@ColumnInfo(name = "fav_restaurant_rating") var favouriteRestaurantRating : String
)
上面的类是我的实体类。我希望主键自动递增。但是当我创建一个类的对象时:
var favouriteEntity = FavouriteEntity(
userId,
restaurant.restaurantId,
restaurant.restaurantName,
restaurant.restaurantImageUrl,
restaurant.restaurantCostForOne,
restaurant.restaurantRating
)
我需要传递一个整数作为 id。但我想自动递增。请帮忙。
最佳答案
您可以简单地:
data class FavouriteEntity(
@PrimaryKey(autoGenerate = true)
val id : Int = 0
)
或者data class FavouriteEntity(
@PrimaryKey(autoGenerate = true)
val id : Int? = null
)
并且 id 字段将自动生成/自动递增 id
field 。然后将其与命名参数一起使用:例如
data class FavouriteEntity(
val id: Int = 0,
val name: String
)
fun main() {
FavouriteEntity(name = "name")
}
关于android - 如何在房间中自动增加主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62894453/