Fehler "Cannot find setter for field" in Room mit Kotlin: Ursachen und Lösung
Hallo Kollegen! Ich bin neu in Kotlin und versuche, Room für die lokale Datenspeicherung zu verwenden. Ich habe eine einfache Entity User:
```kotlin
@Entity(tableName = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
```
Und DAO:
```kotlin
@Dao
interface UserDao {
@Insert
suspend fun insert(user: User)
@Query("SELECT * FROM users WHERE id = :id")
suspend fun getUser(id: Int): User?
}
```
Aber wenn ich die App starte, erhalte ich den Fehler:
```
Cannot find setter for field - User.name
```
Ich habe gelesen, dass Room Setter für Felder benötigt, aber ich habe doch einen data class – diese werden automatisch generiert. Wo könnte das Problem liegen? Ich verwende Room Version 2.5.0 und Kotlin 1.8.0. Meine Gradle-Datei ist mit kapt konfiguriert, die Annotationen sind korrekt.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen