我正在与Room持久性库集成。我在Kotlin中有一个数据类,例如:
@Entity(tableName = "story")
data class Story (
@PrimaryKey val id: Long,
val by: String,
val descendants: Int,
val score: Int,
val time: Long,
val title: String,
val type: String,
val url: String
)
在@Entity
和@PrimaryKey
注解是为客房库。当我尝试构建时,它因错误而失败:
Error:Cannot find setter for field.
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
我也尝试提供默认的构造函数:
@Entity(tableName = "story")
data class Story (
@PrimaryKey val id: Long,
val by: String,
val descendants: Int,
val score: Int,
val time: Long,
val title: String,
val type: String,
val url: String
) {
constructor() : this(0, "", 0, 0, 0, "", "", "")
}
但这并不能正常工作。需要注意的一点是,如果我将此Kotlin类转换为带有getter和setter的Java类,它将起作用。任何帮助表示赞赏!