Avatar ·

Comment faire l'auto-incrémentation de la clé primaire dans Room (Kotlin) ?

Bonjour à tous ! Je suis novice en développement Android avec Kotlin et j'utilise Room pour le stockage local des données. J'ai une entité (Entity) pour les utilisateurs : ```kotlin @Entity(tableName = "users") data class User( @PrimaryKey val id: Int, val name: String, val age: Int ) ``` Je veux que le champ `id` s'incrémente automatiquement lors de l'insertion d'un nouvel enregistrement (comme AUTOINCREMENT dans SQLite). Mais quand j'essaie d'insérer un utilisateur sans spécifier l'id, Room génère une erreur car id est un champ obligatoire (non-null). J'ai essayé de rendre id nullable : ```kotlin @PrimaryKey val id: Int? = null ``` Mais alors Room se plaint que la clé primaire ne peut pas être nullable. J'ai aussi essayé l'annotation `@NonNull`, mais cela n'aide pas. Comment configurer correctement l'auto-incrémentation ? Dois-je changer le type de données ? Ou ajouter une annotation ? J'ai lu la documentation, mais je suis confus. Aidez-moi, s'il vous plaît, à comprendre ! P.S. J'utilise la dernière version de Room (2.6.x) et Kotlin 1.9.x. <<>>

Solution