【发布时间】:2020-05-12 08:02:10
【问题描述】:
我有一个继承关系,我正在尝试将其保留到 Room 数据库中。如果我删除继承关系,它会很好地工作,但是如果我不这样做,我会收到以下错误:
error: Multiple fields have the same columnName: uuid. Field names: uuid, uuid.
这是基类
@Parcelize
open class BaseContent(@PrimaryKey @ColumnInfo(name = "uuid") @Expose @SerializedName("uuid") open
var uuid: String,
@ColumnInfo(name = "category") @Expose @SerializedName("category")
open var category: String) : Parcelable {
}
这是一个子类
@Entity(tableName = "article")
@Parcelize
data class Article(override var uuid: String,
override var category: String,
@ColumnInfo(name = "message") @Expose @SerializedName("message") var message:
String,
@ColumnInfo(name = "permanent") @Expose @SerializedName("permanent") var
permanent: Boolean) : BaseContent(uuid, category) {
}
这是另一个子类
@Entity(tableName = "post")
@Parcelize
data class Post(override var uuid: String,
override var category: String,
@ColumnInfo(name = "timestamp") @Expose @SerializedName("timestamp") var
timeStamp: String,
@ColumnInfo(name = "title") @Expose @SerializedName("title") var title: String,
@ColumnInfo(name = "description") @Expose @SerializedName("description") var
description: String) : BaseContent(uuid, category) {
}
知道发生了什么吗?如果我在 Java 中执行它就可以了。
谢谢
【问题讨论】:
标签: java android kotlin android-room