ORMLite中的更新与刷新



Dao<T,ID> Interface提供了许多DAO方法,如update,create,…等

I read that Update method

将不保存对外部对象或外部对象所做的更改集合。

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

一般来说,updaterefresh方法的主要区别是什么?

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

一般来说,update和refresh方法的主要区别是什么?

update(...)方法将您对内存中的对象所做的更改写入数据库。我将引用ORMLite javadoc。update(...)是:

将对象中的字段存储到数据库中。如果对对象进行了更改,这就是将这些更改持久化到数据库的方式。您不能使用此方法来更新id字段——参见updateId(T, id)。

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

对对象的id进行查询,并从数据库中复制每个字段值以刷新data参数。对持久化字段的任何本地对象更改都将被覆盖。如果数据库已经更新,这将使您的本地对象是最新的。

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

相关内容

  • 没有找到相关文章

最新更新