0

我正在使用 Objectbox 并设置了几个实体。我的实体包含对其他实体的引用。例如:

@Entity 
class EntityA {

    @Id
    var id: Long = 0
    lateinit var bEntities: ToMany<EntityB>

    fun addB(b: EntityB) {
        bEntities.add(b)
        b.entityA.target = this
    }
}


@Entity 
class EntityB {

    @Id
    var id: Long = 0
    lateinit var entityA: ToOne<EntityA>
}

我能够创建 EntityA 并将其链接到我的所有 EntityB。然后我可以存储 EntityA 并恢复它的所有信息以及链接到它的 EntityB 对象。

我的问题是:如果我想更新与 EntityA 链接的 EntityB 之一,我是否必须为 EntityB 获取一个 Box 并将更新的对象放入该框中?或者我是否应该能够通过更改它的值来更新 EntityB 对象,然后更新包含 EntityB 对象的 EntityA 的 Box?

4

1 回答 1

1

如果您更新 entityB,则使用 boxB 放置它。

如果将新的 enititB 对象添加到 entityA:只需使用 boxA 放置 entityA,包括新的 entityB 对象在内的关系的所有更改都将保留。

于 2018-02-24T07:36:52.737 回答