Я создаю класс еды (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)
и вы хотите получить автогенерированный идентификатор, вы это сделаете.
@Entity(tableName = "users") data class Users( @PrimaryKey(autoGenerated = true) val id: Long, val firstname: String, val lastname: String, val email: String )
Затем комната будет автогенерировать и автоматически увеличивать поле id
.