Avatar ·

خطأ "Cannot find setter for field" في Room مع Kotlin: الأسباب والحل

مرحبًا أيها الزملاء! أنا مبتدئ في Kotlin وأحاول استخدام Room للتخزين المحلي للبيانات. لدي كيان بسيط User: ```kotlin @Entity(tableName = "users") data class User( @PrimaryKey val id: Int, val name: String, val age: Int ) ``` و DAO: ```kotlin @Dao interface UserDao { @Insert suspend fun insert(user: User) @Query("SELECT * FROM users WHERE id = :id") suspend fun getUser(id: Int): User? } ``` لكن عندما أقوم بتشغيل التطبيق، أحصل على الخطأ: ``` Cannot find setter for field - User.name ``` لقد قرأت أن Room يتطلب setters للحقول، لكن لدي data class - ويتم إنشاؤها تلقائيًا. ما المشكلة المحتملة؟ أنا أستخدم Room إصدار 2.5.0 و Kotlin 1.8.0. ملف Gradle الخاص بي مضبوط مع kapt، والتعليقات التوضيحية...