仅更新ObjectBox Android中的选定列



是否可能只更新ObjectBox Android中的选定列?

例如;提醒";实体

@Entity
data class Remind (
@Id var id: Long = 0,
var title: String? = null, 
var memo: String? = null,
var ymd: String? = "2021-01-01 FRI"
var done: Int = 0
)

并且我只想更新";完成";现有ID的列。

所以我试过了,

private fun putRemind(done: Int, id: Long) {
val newRemind = Remind(done = done, id = id)
ObjectBox.store.boxFor(Remind::class.java).put(newRemind)
}

但是,所有列都被覆盖(其他列用初始值填充(。

有什么简单的方法可以只覆盖选定的列吗?还是总是要重新放置所有列?

谢谢。

首先,ObjectBox中没有列的概念,例如它不是关系数据库。它存储对象,而且速度极快。因此,更新的方法是获取一个对象(如果您还没有(,更新一个或多个您想要的属性,然后更新put()。这样做的另一个好处是,您不需要为每个单独的属性使用更新方法。

最新更新