Como fazer autoincremento de chave primária no Room (Kotlin)?
Olá a todos! Sou novo no desenvolvimento Android com Kotlin e estou usando Room para armazenamento local de dados. Tenho uma entidade (Entity) para usuários:
```kotlin
@Entity(tableName = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
```
Quero que o campo `id` seja incrementado automaticamente ao inserir um novo registro (como AUTOINCREMENT no SQLite). Mas quando tento inserir um usuário sem especificar o id, o Room gera um erro, porque id é um campo obrigatório (non-null). Tentei tornar id nullable:
```kotlin
@PrimaryKey val id: Int? = null
```
Mas então o Room reclama que a chave primária não pode ser nullable. Também tentei a anotação `@NonNull`, mas não adianta.
Como configurar corretamente o autoincremento? Preciso mudar o tipo de dado? Ou adicionar alguma anotação? Li a documentação, mas fiquei confuso. Ajude-me, por favor, a entender!
P.S. Estou usando a versão mais recente do Room (2.6.x) e Kotlin 1.9.x.