android - 领域避免更新嵌套对象
问题描述
我有一个应用程序可以存储大量数据以供离线工作。我有三个类,在一个层次结构中;
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 中。然后,当我尝试插入带有嵌套 MainGroup 对象但只有其 Oid 字段来链接其主对象的 Group 对象时,Realm 会更新 MainProduct 记录(具有给定的 Oid),并将其他字段清除为空值。
同样,当我插入 Product 对象并且嵌套对象仅包含 Oid 时,领域会使用空值更新所有字段。
所以,有更复杂和深度相关的对象,当我请求从服务器获取 JSON 时,我必须产生一个非常大的 JSON 响应来保存数据。
并提到插入方法;我正在通过 GSON 创建带有 JSON 响应的 java 对象,并且我正在使用Realm.copyToRealmOrUpdate(obj);
插入方法。
为了减少有效负载(JSON 大小、序列化和插入过程),我需要找到解决此问题的方法。
解决方案
推荐阅读
- mongodb - 如何在 $or 中使用 $regex 作为聚合表达式
- python - 收到导入错误,说没有模块
- json - 使用数字属性名称访问 MS SQL Server 中的 JSON_VALUE
- swift - NSView mouseDown 填充矩形
- ios - 我可以在 Swift 应用程序中引用 Ada 库吗?
- constraints - 如何将自然语言转换为 OCL 约束?
- python - Discord Bot Python 每小时发送一条消息
- azure - 将电子邮件作为 ErrorAction 发送的 Azure 调度程序机制
- drupal - Drupal 8 WYSIWYG 数据以编程方式插入显示纯 html
- javascript - JavaScript - 从对象获取属性,如果未定义则抛出错误