كيفية جعل المفتاح الأساسي يتزايد تلقائيًا في Room (Kotlin)?
مرحبًا بالجميع! أنا مبتدئ في تطوير Android باستخدام Kotlin وأستخدم Room للتخزين المحلي للبيانات. لدي كيان (Entity) للمستخدمين:
```kotlin
@Entity(tableName = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
```
أريد أن يتزايد حقل `id` تلقائيًا عند إدخال سجل جديد (مثل AUTOINCREMENT في SQLite). ولكن عندما أحاول إدراج مستخدم دون تحديد id، يظهر خطأ من Room لأن id حقل إلزامي (non-null). جربت جعل id قابلًا للإلغاء (nullable):
```kotlin
@PrimaryKey val id: Int? = null
```
ولكن عندها يشتكي Room من أن المفتاح الأساسي لا يمكن أن يكون nullable. كما جربت التعليق التوضيحي `@NonNull` لكنه لم يساعد.
كيف يمكنني إعداد الزيادة التلقائية بشكل صحيح؟ هل أحتاج إلى تغيير نوع البيانات؟ أم إضافة تعليق توضيحي معين؟ لقد قرأت الوثائق لكني مرتبك. أرجو المساعدة في التوضيح!
ملاحظة: أستخدم أحدث إصدار من Room (2.6.x) وKotlin 1.9.x.