Kotlin 和 ObjectBox:数据中的关系 类
Kotlin and ObjectBox: Relations in Data Classes
如何用 ToOne 关系初始化数据 Class?例如,我有以下两个数据 Classes:
@Entity
data class EntityA(
@Id var id: Long,
var entityB: ToOne<EntityB>
)
@Entity
data class EntityB(
@Id var id: Long
)
现在,我想像这样初始化 EntityA:
var e = EntityA(1, EntityB())
但是,显然,我不能那样做,因为第二个参数是 ToOne 而不是 EntityB。我试图实例化 ToOne,但它的构造函数需要第二个参数,我不知道如何创建。
不要将关系放在主构造函数中。然后你可以使用辅助构造函数来调用toOne.target = entity
。它应该看起来像这样:
@Entity
data class EntityA(@Id var id: Long) {
lateinit var entityB: ToOne<EntityB>
constructor(b: EntityB) : this(0) {
entityB.target = b
}
}
如何用 ToOne 关系初始化数据 Class?例如,我有以下两个数据 Classes:
@Entity
data class EntityA(
@Id var id: Long,
var entityB: ToOne<EntityB>
)
@Entity
data class EntityB(
@Id var id: Long
)
现在,我想像这样初始化 EntityA:
var e = EntityA(1, EntityB())
但是,显然,我不能那样做,因为第二个参数是 ToOne 而不是 EntityB。我试图实例化 ToOne,但它的构造函数需要第二个参数,我不知道如何创建。
不要将关系放在主构造函数中。然后你可以使用辅助构造函数来调用toOne.target = entity
。它应该看起来像这样:
@Entity
data class EntityA(@Id var id: Long) {
lateinit var entityB: ToOne<EntityB>
constructor(b: EntityB) : this(0) {
entityB.target = b
}
}