Can';t使Android房间实体类可包裹

Can';t使Android房间实体类可包裹,android,kotlin,parcelable,android-room,Android,Kotlin,Parcelable,Android Room,我使用Kotlin,我有Android数据库室的实体类。我想让它可以打包,但我遇到了以下错误: /Users/rafael/AndroidStudioProjects/Cevsen/app/build/tmp/kapt3/stubs/debug/me/aizon/rafaelekol/cevsen/entities/Bab.java Error:(6, 1) error: Parceler: No @ParcelConstructor annotated constructor and no d

我使用Kotlin,我有Android数据库室的
实体
类。我想让它可以打包,但我遇到了以下错误:

/Users/rafael/AndroidStudioProjects/Cevsen/app/build/tmp/kapt3/stubs/debug/me/aizon/rafaelekol/cevsen/entities/Bab.java
Error:(6, 1) error: Parceler: No @ParcelConstructor annotated constructor and no default empty bean constructor found.
Warning:warning: Supported source version 'RELEASE_7' from annotation processor 'android.arch.persistence.room.RoomProcessor' less than -source '1.8'
/Users/rafael/AndroidStudioProjects/Cevsen/app/build/tmp/kapt3/stubs/debug/me/aizon/rafaelekol/cevsen/database/MyDatabase.java
Warning:(5, 1) warning: Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument OR set exportSchema to false.
Error:Execution failed for task ':app:kaptDebugKotlin'.
> Internal compiler error. See log for more details
我的实体类:

@Parcel(Parcel.Serialization.BEAN)
@Entity(tableName = "bab")
data class Bab (
    @PrimaryKey(autoGenerate = true)
    val uid: Long,

    var id: Int = 0,

    var latin:String = "",

    @SerializedName("latin_text")
    @ColumnInfo(name = "latin_text")
    var latinText:String = "",

    var turkish:String = "",
)
我的依赖项:

api 'org.parceler:parceler-api:1.1.9'
kapt 'org.parceler:parceler:1.1.9'

看起来“uid”是一个val,但您使其自动生成。房间无法接受此项。

看起来“uid”是val,但您使其自动生成。房间无法接受此信息。

以下代码对我有效,没有错误

class Farm(
    @PrimaryKey(autoGenerate = true)
    var farmId: Long = 0,
    var farmerId: Long = 0,
    var farmName: String = AppConstants.EMPTY_STRING,
    var address: String = AppConstants.EMPTY_STRING,
    var area: Int = 0,
    var lat: String = AppConstants.EMPTY_STRING,
    var lng: String = AppConstants.EMPTY_STRING,
) : Parcelable {

    @Ignore
    constructor() : this(0) {
    }
}

下面的代码对我来说没有错误

class Farm(
    @PrimaryKey(autoGenerate = true)
    var farmId: Long = 0,
    var farmerId: Long = 0,
    var farmName: String = AppConstants.EMPTY_STRING,
    var address: String = AppConstants.EMPTY_STRING,
    var area: Int = 0,
    var lat: String = AppConstants.EMPTY_STRING,
    var lng: String = AppConstants.EMPTY_STRING,
) : Parcelable {

    @Ignore
    constructor() : this(0) {
    }
}

看看这个数据类有自动生成的多参数构造函数,它“隐藏”在
(…)
块中。尝试将
@ParcelConstructor
放在开口大括号之前。当我删除
自动生成
代码开始工作时,
@PrimaryKey
中的
自动生成=true
存在问题。该数据类具有自动生成的多参数构造函数,该构造函数“隐藏”在
(…)
块中。尝试将
@ParcelConstructor
放在开口大括号之前。当我删除
自动生成
代码开始工作时,
@PrimaryKey
中的
自动生成=true
出现问题