首页 > 解决方案 > 保存和查询时 RealmList 发生变化

问题描述

我在执行查询时遇到返回错误对象的问题。

我有以下列表与领域一起保存

open class Stores : RealmObject() {

    @PrimaryKey
    @SerializedName("id")
    var id: Long = 0
    @SerializedName("totalCount")
    var totalCount: Long? = null
    @SerializedName("stores")
    var stores: RealmList<Store>? = null

} 

这是 Store 对象

open class Store : RealmObject() {

    @PrimaryKey
    @SerializedName("id")
    var id: Long = 0
    @SerializedName("mainProduct")
    var mainProduct: Product? = null

} 

和产品对象

open class Product : RealmObject() {

    @PrimaryKey
    @SerializedName("id")
    var id: Long = 0
    @SerializedName("name")
    var name: String? = null
    @SerializedName("cost")
    var cost: String? = null

} 

当进行以下查询时,具有相同 PrimaryKey 的所有Store对象都返回相同的对象,这是保存的具有相同 PrimaryKey 的最后一个 Store:

  override fun getStores(realm: Realm): Stores? {
        return realm.where(Stores::class.java).equalTo("id", 0L).findFirst()
  }

有关如何解决此问题的任何帮助?

标签: androidkotlinrealm

解决方案


推荐阅读