Realm избегать обновления вложенного объекта - PullRequest
0 голосов
/ 06 января 2020

У меня есть приложение, которое хранит много данных для автономной работы. У меня есть три класса, в иерархии вроде:

public class MainGroup
{
 private UUID Oid;
 private String name;
 private Date CreatedOn;
}

-

public class Group
{
 private UUID Oid;
 private String name;
 private Date CreatedOn;
 private MainGruop MainGroup;
}

-

public class Product
{
 private UUID Oid;
 private String name;
 private Date CreatedOn;
 private MainGruop MainGroup;
 private Group Group;
}

(поля Oid выбираются как PrimaryKey с атрибутом области. )

Допустим, все объекты MainGroup были сохранены в Realm DB. Затем, когда я пытаюсь вставить объекты Group, с вложенным объектом MainGroup, но только с его полем Oid, чтобы связать его мастер, Realm обновляет запись MainProduct (с данным Oid) и очищает другие поля как пустые.

Таким же образом, когда я вставляю объекты Product и вложенные объекты включают только Oid, область обновляет все поля с нулями.

Итак, существуют более сложные и глубоко связанные объекты, и когда я делаю запрос на получение JSON с сервера, я должен выдать очень большой JSON ответ для хранения данных.

И упомянуть, чтобы вставить метод; Я создаю java объекты с JSON ответом через GSON, и я использую метод Realm.copyToRealmOrUpdate(obj); для вставки.

Чтобы уменьшить полезную нагрузку (JSON размер, сериализация и процесс вставки), мне нужно чтобы найти способ исправить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...