在greendao按键更新

时间:2014-06-30 06:38:37

标签: android greendao

如何使用密钥(非主ID密钥)更新表?

我有一个客户表,我正在获取更新或创建的客户数据。因此,对于新创建的数据,我使用insertOrReplace方法,该方法使用对象插入数据。

但是为了更新一行,根据我的知识,我必须使用我拥有的密钥获取行,然后更新行。如果不获取行就不可能这样做,因为每行需要两次操作。

1 个答案:

答案 0 :(得分:1)

由于您始终可以编写自己的sql语句并通过DaoSesseion.getDatabase()执行它们,因此可以在不先获取条目的情况下更新条目。

由于greendao使用缓存,我强烈建议不要手动更新缓存,因为您的缓存不会更新,这反过来可能会对您的应用产生非常奇怪的行为。

最重要的是,获取条目的性能损失将不明显。

<强>总结

手动更新会使您的代码更加复杂,可能会导致缓存不一致,并且只会提供非常小的性能提升(如果它可以提高性能)。 因此恕我直言不会手动更新条目!