代码之家  ›  专栏  ›  技术社区  ›  AIM Digital Technologies

ObjectBox总是为Kotlin中的内部数据类返回null

  •  0
  • AIM Digital Technologies  · 技术社区  · 7 年前

    我正在使用API调用的改型。 但是现在我想缓存另一个模型类,它有嵌套的模型类,比如 下面。

    @Entity data class ConsumptionDashboardResponse(
            @Id(assignable = true)
            var id: Long? = null,
            @Transient
            @SerializedName("data")
            @NameInDb("data_consumption")
            var `data`: DataConsumption,
            @SerializedName("responseCode")
            val responseCode: Int,
            @SerializedName("responseDesc")
            val responseDesc: String,
            @SerializedName("sessionLang")
            val sessionLang: String )
    

    数据消费类:

    @Entity
    data class DataConsumption(
            @Id(assignable = true)
            var id: Long? = null,
    
            @Backlink
            @Transient
            @SerializedName("listDivisions")
            var listDivisions: List<Divisions>
    )
    

    和划分类

    @Entity
    data class Divisions(
            @Id(assignable = true)
            var id: Long? = null,
            @SerializedName("aggregateBalance")
            val aggregateBalance: String,
            @SerializedName("aggregateConsumption")
            val aggregateConsumption: String,
            @SerializedName("division")
            val division: String,
            @Backlink
            @Transient
            @SerializedName("listConsumption")
            var listConsumption: List<Consumption>,
            @SerializedName("unit")
            val unit: String
    )
    

    @Entity
    data class Consumption(
            @Id(assignable = true)
            var id: Long? = null,
            @SerializedName("aggregateConsumption")
            val aggregateConsumption: String,
            @SerializedName("billingPeriod")
            val billingPeriod: String
    )
    

    我找不到我是否需要任何类型的自定义转换器或我需要做什么。

    ConsumptionDashboardResponse(id=4, data=null, responseCode=200, responseDesc=SUCCESS, sessionLang=AR)
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   mallaudin    7 年前

    Transient 不 保存在数据库中。如果您必须存储 非基元类型 要么使用 relationships type converters .

    推荐文章