小编典典

领域ORM:如何处理地图?

java

我正在创建一个Android应用,并且需要保留一个Map<String,MyClass>。我刚刚开始使用Realm
ORM
,因为它支持一对一和一对多的枚举和列表。我还找到了解决字符串列表的方法(即,我必须创建一个封装字符串的StringWrapper类。但是,从文档中我了解RealmMap,列表并不存在像这样的简单方法。因此,我正在寻找持久化地图的最佳方法。我目前的想法是用KeyValueObject封装了String(以前的地图关键字)和的对象列表替换我的地图MyClass。类似于Map.Entry。是否还有其他解决方案不需要我重新设计域模型技术原因?


阅读 220

收藏
2020-11-16

共1个答案

小编典典

如您所见,Realm尚不支持地图:https :
//github.com/realm/realm-java/issues/759

您可以使用模型类:

class MyData extends RealmObject {
    private RealmList<MyMapEntry> myMap;
}

class MyMapEntry extends RealmObject {
    private String key;
    private MyClass value;
}

假设您有一个MyData名为的对象,myData并且希望获取与关联的值myKey,那么该查询MyClass myClass = myData.getMyMap().where().equalTo("key", myKey).firstFirst()可能会很有用。

2020-11-16