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