[英]How to create RealmList<RealmList<Object>> in android
[英]How to properly save object that contains RealmList?
我有2个领域对象:单位和子单位。 单元对象具有子单元的领域列表。 我使用单个Unit对象。 定期创建一个新的Subunit对象,并将其添加到Unit的列表中,然后在Unit对象上调用copyToRealmOrUpdate。 但是,每次我调用copyToRealmOrUpdate时,即使该单元中包含的所有子单元已经存在于数据库中,也会再次被复制。 这导致我的数据库大小迅速增加。 有没有办法只保存每次保存Unit对象时添加到列表中的最后一个Subunit? 谢谢
尝试使用以下代码来创建新的Subunit
实例:
realm.beginTransaction();
Unit unit = realm.where(Unit.class)
// write your condition for extracting of Unit object
.equalTo("id", unit_id).findFirst();
if(unit == null){
Log.e(APP_TAG, "Unit " + unit_id + " not found");
realm.cancelTransaction();
return;
}
Subunit subunit = realm.createObject(Subunit.class);
// setup subunit fields
unit.getSubunits().add(subunit);
realm.commitTransaction();
您无需每次都通过特定查询从领域中获取此对象并将Subunit
实例直接放入查询对象中,而无需每次创建Unit
对象。
Unit
Object并将其与copyToRealmOrUpdate
保存在数据库中。 Subunit
,将其与copyToRealmOrUpdate
一起copyToRealmOrUpdate
在数据库中。 Unit
-Object,并使用Unit.getSubunits().add(Subunit)
将数据库中已保存的Subunit
添加到数据库中已保存的Unit
中。 您不需要在数据库中多次保存Unit
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.