我在从realm表查询数据时有一个非常奇怪的行为。
例子
我有一个名为OrderItem的对象定义如下:

public class OrderItem extends RealmObject{

   @PrimaryKey
   @Index
   private long id;

   //the rest of the fields here
   //then getters and setters as usual
}

这个问题很难预测;因为有时:
RealmResults<OrderItem> items = realm.where(OrderItem.class)
       .equalTo("order_id", order_id)
       .findAllSorted("id");

返回不完整的结果-尤其是一行;
这一直让我发疯,因为我无法确切地找出它是如何返回这样的部分结果的;不管我在所述表中有多少行!
注释
不久前,我使用String类型作为表中的主键,直到我了解到在尝试增加值时的想法是多么糟糕;所以我切换到long类型,这很好;但现在我从上面的查询中得到了部分结果!
我将非常感谢你在这方面的帮助!任何能帮助我缓解这个问题的想法和建议。
提前谢谢!
永不言败!

最佳答案

切换主键类型后是否清除了数据库?
您可以通过以下方法来完成此操作:

Realm.deleteRealm();

我在realm数据库上也遇到过类似的问题。删除和创建新数据库有帮助。

10-04 23:24
查看更多