Room (Kotlin) में प्राथमिक कुंजी का ऑटोइन्क्रीमेंट कैसे करें?
सभी को नमस्कार! मैं Kotlin पर Android डेवलपमेंट में नौसिखिया हूँ और स्थानीय डेटा स्टोरेज के लिए Room का उपयोग कर रहा हूँ। मेरे पास उपयोगकर्ताओं के लिए एक Entity है:
```kotlin
@Entity(tableName = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
```
मैं चाहता हूँ कि नया रिकॉर्ड डालने पर `id` फ़ील्ड स्वचालित रूप से बढ़े (जैसे SQLite में AUTOINCREMENT)। लेकिन जब मैं बिना id निर्दिष्ट किए उपयोगकर्ता डालने का प्रयास करता हूँ, तो Room एक त्रुटि देता है, क्योंकि id एक अनिवार्य फ़ील्ड (non-null) है। मैंने id को nullable बनाने का प्रयास किया:
```kotlin
@PrimaryKey val id: Int? = null
```
लेकिन तब Room शिकायत करता है कि प्राथमिक कुंजी nullable नहीं हो सकती। मैंने `@NonNull` एनोटेशन भी आज़माया, लेकिन इससे मदद नहीं मिली।
ऑटोइन्क्रीमेंट को सही तरीके से कैसे सेट करें? क्या डेटा प्रकार बदलने की आवश्यकता है? या कोई एनोटेशन जोड़ने की? मैंने दस्तावेज़ पढ़ा, लेकिन भ्रमित हो गया। कृपया समझने में मेरी मदद करें!
P.S. मैं Room का नवीनतम संस्करण (2.6.x) और Kotlin 1.9.x का उपयोग कर रहा हूँ।
<<>>