كيفية جعل المفتاح الأساسي تلقائي الزيادة في Room (Android/Kotlin)?
مرحباً بالجميع! أنا مطور Android مبتدئ بلغة Kotlin وأحاول فهم مكتبة Room. لدي كيان (Entity) لتخزين الملاحظات. أريد أن يتزايد حقل id تلقائياً عند إدراج سجل جديد، كما في قواعد بيانات SQLite العادية مع `AUTOINCREMENT`. لكنني لا أستطيع تحقيق ذلك.
إليك الكود الخاص بي:
```kotlin
@Entity(tableName = "notes")
data class Note(
@PrimaryKey
val id: Int = 0,
val title: String,
val content: String
)
```
عند إدراج ملاحظة جديدة عبر DAO، أحدد id = 0، لكن Room يعطي خطأ بأن هذا id موجود بالفعل (أو تعارض). جربت وضع `autoGenerate = true`، لكن المترجم يشتكي من أن `autoGenerate` يمكن استخدامه فقط مع `Long` أو `Int`. قرأت عدة إجابات على Stack Overflow، لكنها باللغة الإنجليزية وليست كلها واضحة.
أرجو إرشادي، كيف يمكنني جعل المفتاح الأساسي تلقائي الزيادة في Room بشكل صحيح؟ هل يجب استخدام `Long` بدلاً من `Int`؟ أم يجب إضافة تعليق توضيحي؟