3

我正在使用 ObjectBox 并尝试使用 ToMany 保存数据,但出现此错误:

kotlin.UninitializedPropertyAccessException: lateinit property fotos has not been initialized
  • 对象框版本:2.2.0
  • 安卓 SDK 版本:28
  • Kotlin 版本:1.2.71

这是我的课程:

@Entity
data class Ficha (
  @Id var id: Long = 0,
  var nombre: String,
  var alias: String,
  var fecha: Date? = null
) {
  @Backlink (to = "ficha")
  lateinit var fotos: ToMany<Foto>
}

@Entity
data class Foto (
  @Id
  var id: Long = 0,
  var tipo: Int = 0,
  var ruta: String = "",
  var fecha: Date? = null
) {
  lateinit var ficha: ToOne<Ficha>
}

我正在尝试保存它:

val ficha = Ficha(id = 0, nombre = nombre, alias = alias, fecha = Date()).apply {
    val foto1 = Foto(id = 0, tipo = 1, ruta = "C://Pepe//Cantu//1", fecha = Date())
    val foto2 = Foto(id = 0, tipo = 2, ruta = "C://Pepe//Cantu//2", fecha = Date())
    val foto3 = Foto(id = 0, tipo = 3, ruta = "C://Pepe//Cantu//3", fecha = Date())

    this.fotos.add(foto1)
    this.fotos.add(foto2)
    this.fotos.add(foto3)

}
fichaDB.put(ficha)

如何解决?

4

0 回答 0