【发布时间】:2015-01-21 16:31:42
【问题描述】:
问题是:GreenDao什么时候从会话缓存中更新sql数据库?
假设我正在从数据库中查询现有实体,然后更改其中一个属性(字段)。无论如何,更改都是在不直接指向 sql 数据库的情况下执行的。
那么 - 我应该更新实体吗? GreenDao 何时将其会话缓存刷新到数据库本身?
【问题讨论】:
问题是:GreenDao什么时候从会话缓存中更新sql数据库?
假设我正在从数据库中查询现有实体,然后更改其中一个属性(字段)。无论如何,更改都是在不直接指向 sql 数据库的情况下执行的。
那么 - 我应该更新实体吗? GreenDao 何时将其会话缓存刷新到数据库本身?
【问题讨论】:
您描述的内容听起来像是 JPA/Hibernate 会话缓存。 greenDAO 没有。它更简单。有些对象保存在内存中,您总是手动将它们更新到数据库中。
更多信息(远未完成): http://greendao-orm.com/documentation/sessions/
【讨论】:
当生成 GreenDAO 代码(实体、DAO、DaoSession....等)时,DAO 默认扩展 AbstractDao 类,该类具有多种在需要时更新数据库的方法,而不是将更新保存在记忆一段时间如(update(T entity),refresh(T entity),updateInTrx(java.lang.Iterable entities))。
更多信息请查看AbstractDao javaDoc
【讨论】: