¿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
No answers yet.
Inicia sesión para dejar una respuesta
Blogs