是否可能只更新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()
。这样做的另一个好处是,您不需要为每个单独的属性使用更新方法。