我遇到了实体类伤害
@Entity
class Damage(
@PrimaryKey(autoGenerate = true)
var damageId: Int,
var position: String,
var place: DamageItem? = null,
var cause: DamageItem? = null
)
DamageItem 是一个常规 POJO
data class DamageItem(
var itemId: String,
var itemDesc: String)
在尝试编译此代码时,它显示一个错误
无法弄清楚如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。
我想到首先使用 @Embedded param 来表示地点和原因,但发现这不是解决方案。
有办法解决这个问题吗?
最佳答案
我发现答案是官方文档本身。 只需向每个自定义数据类型添加带前缀的嵌入式注释即可
将我的实体类更改为
@Entity class Damage(
@PrimaryKey(autoGenerate = true)
var damageId: Int,
var position: String,
@Embedded(prefix = "place_") var place: DamageItem? = null,
@Embedded(prefix = "cause_") var cause: DamageItem? = null)
关于java - 具有多个具有相同自定义数据类型的成员的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58952642/