Avatar ·

¿Cómo hacer autoincrement de la clave primaria en Room (Kotlin)?

¡Hola a todos! Soy nuevo en desarrollo Android con Kotlin y uso Room para almacenamiento local de datos. Tengo una entidad (Entity) para usuarios: ```kotlin @Entity(tableName = "users") data class User( @PrimaryKey val id: Int, val name: String, val age: Int ) ``` Quiero que el campo `id` se incremente automáticamente al insertar un nuevo registro (como AUTOINCREMENT en SQLite). Pero cuando intento insertar un usuario sin especificar id, Room da error porque id es un campo obligatorio (non-null). Probé hacer id nullable: ```kotlin @PrimaryKey val id: Int? = null ``` Pero entonces Room se queja de que la clave primaria no puede ser nullable. También probé la anotación `@NonNull`, pero no ayuda. ¿Cómo configurar correctamente el autoincrement? ¿Necesito cambiar el tipo de dato? ¿O agregar alguna anotación? Leí la documentación, pero me confundí. ¡Ayúdenme, por favor, a entender! P.D. Uso la última versión de Room (2.6.x) y Kotlin 1.9.x. <<>>

Solución