github上有一个问题,但是objectbox现在不支持级联删除。除了手动删除还有其他选择吗?
例如,型号:
@Entity
class User(val username: String = "") {
@Id(assignable = true)
var id: Long = 0
@Backlink
lateinit var comments: ToMany<Comment>
}
@Entity
class Comment(var text: String = "", var date: Date = Date()) {
@Id(assignable = true)
var id: Long = 0
@Backlink
lateinit var user: ToOne<User>
}
如果我想删除用户和他的所有评论,我应该这样做:
fun deleteUser(user: User, userBox: Box<User>, commentsBox: Box<Comment>) {
commentsBox.remove(user.comments)
userBox.remove(user)
}
但是,如果评论有自己的孩子,而且他们也有——嵌套可能非常大。
我想用BoxStore.subscribe(class: Class<Any>)
,但它不能给我User
只删除他Comment
的 s 的实例。
可以在没有反思和其他不良做法的情况下完成吗?