2013-05-17 43 views
0

Dao<T,ID>接口提供了许多DAO方法,如更新,创建,...等更新VS刷新在ORMLite

read该更新方法

不会保存到异物或国外所做的更改 集合。

刷新方法是否保存对外部对象或外部集合所做的更改?

通常,updaterefresh方法之间的主要区别是什么?

+0

@Gray;对不起 –

回答

6

刷新方法是否保存对外部对象或外部集合所做的更改?

一般来说,有什么更新和刷新方法之间的主要区别是?

叹了口气。 update(...)方法将您对内存中对象所做的更改写入数据库。我会引用来自ORMLite Javadocs。 update(...) is

将字段从对象存储到数据库。如果您对对象进行了更改,则这是如何将这些更改持久保存到数据库的方式。您不能使用此方法更新id字段 - 请参阅updateId(T,ID)。

另一方面,refresh()方法,从数据库更新内存中的对象。以下是refresh(...) javadocs

是否查询对象的ID和每个来自数据库的字段值中的副本以刷新数据参数。任何本地对象更改为持久字段将被覆盖。如果数据库已更新,则会使本地对象保持最新状态。

当文档说update(...)方法不会保存对其他对象的更改时,这是因为这些对象被保存在不同的表中。如果您有一个Account以及一系列订单,则调用account上的更新只会更新这些字段。如果您更改了其中一个订单,那么您将不得不使用OrderDao来更新订单表中的订单。