如何使用键(不是主id键)更新表?
我有一个客户表,我正在获取更新或创建的客户数据。因此,对于新创建的数据,我使用insertOrReplace方法,该方法使用对象插入数据。
但是对于更新一行,根据我的知识,我必须使用我拥有的键来获取行,然后更新行。如果不获取行,是否不可能做到这一点,因为这将需要对每个这样的行进行两次操作。
由于您总是可以编写自己的sql语句并通过DaoSesseion.getDatabase()
执行它们,因此可以在不首先获取它的情况下更新您的条目。
由于greendao使用缓存,我强烈反对手动更新它,因为你的缓存不会更新,这反过来可能会产生非常奇怪的应用程序的行为。
最重要的是,获取条目的性能损失不会很明显。
总结了:
手动更新使您的代码更复杂,可能会引入缓存不一致,并且只提供非常小的性能提升(如果它能提高性能的话)。因此,恕我直言,不要手动更新条目!