【问题标题】:Realm Update Table Ignore Field领域更新表忽略字段
【发布时间】:2018-06-24 00:12:29
【问题描述】:

以下是 Pojo 由领域扩展,第一次从 api 获取所有字段,我正在使用领域的 insertOrUpdate() 操作来转储领域中的数据。

ServiceModel.java

@JsonProperty("id")
private String id;

@JsonProperty("title")
private String title;

@JsonProperty("description")
private String description;

@JsonProperty("current_status")
private String currentStatus;

但是下次我不会从响应中获取 current_status 字段,因此我的 ServiceModel 表正在更新,currentStatus 为 null。如果没有响应,如何使 currentStatus 不更新。

【问题讨论】:

  • 如果您将数据作为纯 JSON 导入,它将正确忽略缺失的字段。如果由于 JSON 名称与您在 Java 中使用的名称不匹配而首先转换为对象,那么不幸的是,它会变得更加棘手,您可能需要手动完成。

标签: android jackson realm realm-mobile-platform jackson2


【解决方案1】:

我遇到了同样的问题,在这里我是如何解决的。您应该通过id 选择现有对象:

ServiceModel existingService = realm.where(ServiceModel.class).equalsTo("id",id).findFirst();

if(existingService !=null){ // check if such record existed, it may be absent
    String oldCurrentStatus = existingService.currentStatus();
    //set old current status to new API object
}

我遇到了同样的问题,据我所知,这种情况还没有 Realm 函数或注释。

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多