私はRoomパーシスタンスライブラリと統合しています。フィールド用セッターが見つかりません - Kotlin with Roomデータベースを使用
@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
注釈が館内ライブラリーのためのものです:私のような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
) {
constructor() : this(0, "", 0, 0, 0, "", "", "")
}
しかし、これは同様に動作しません:
Error:Cannot find setter for field.
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
私はまた、デフォルトコンストラクタを提供しようとしました。注意すべき点は、このKotlinクラスをgetterとsetterを持つJavaクラスに変換すると動作することです。どんな助けもありがとう!
ようにすることはできません。例えば /android/observability/persistence/User.kt Googleの例から、不変プロパティは問題なく動作します。誰かが原因を分析できますか?それはバグでしょうか? –