【发布时间】:2019-06-13 13:25:33
【问题描述】:
我遇到了 Room 的特定问题。我有一个对象
@Entity(tableName = "classifieds")
data class ClassifiedBean(
@PrimaryKey
@ColumnInfo(name = "id")
@SerializedName("id")
var id: String,
@Embedded
@SerializedName("client")
var clientBean: ClientBean,
@Embedded
@SerializedName("location")
var locationBean: LocationBean
)
这里有我的对象 LocationBean 和 ClientBean。
问题出在我的 ClientBean 内部,我还有一个具有相同属性(地址、邮政编码、城市、国家/地区...)的 LocationBean。
data class ClientBean(
@ColumnInfo(name = "client_id")
@SerializedName("id")
var id: Int,
@ColumnInfo(name = "name")
@SerializedName("name")
var name: String,
@Embedded
@SerializedName("location")
var locationBean: LocationBean
)
在这里你可以找到我的 LocationBean
data class LocationBean (
@ColumnInfo(name = "location_id")
@SerializedName("locationId")
var id: Int,
@ColumnInfo(name = "country")
@SerializedName("country")
var country: String,
@ColumnInfo(name = "city")
@SerializedName("city")
var city: String,
@ColumnInfo(name = "address")
@SerializedName("address")
var address: String,
@ColumnInfo(name = "postal_code")
@SerializedName("postalCode")
var postalCode: String,
)
这是我的错误:
error: Multiple fields have the same columnName: location_id. Field names: clientBean > locationBean > id, locationBean > id.
其中一个解决方案是创建 2 个具有相同属性的不同对象,但我想知道他们是否有其他解决方案?
感谢您的帮助
【问题讨论】:
标签: android android-room