如何在 greenDAO 中持久化 HashMap 以及如何生成相应的实体?
我前后阅读了两次文档,但什么也没有。 Google 也没有任何帮助。
最佳答案
您应该创建一个具有字符串主键和值的字符串属性的实体:
Entity mapEntity = schema.addEntity("Map");
mapEntity.addStringProperty("key").primaryKey();
mapEntity.addStringProperty("value");
也许还需要属性的一些其他属性(取决于您的需要),例如 unique、notNull。
如果您想将 Map 存储在一个实体中,那就没那么简单了:
基本上,您创建一个这样的实体来存储所有 map :
Entity mapEntity = schema.addEntity("Map");
mapEntity.addLongProperty("id").primaryKey().autoIncrement();
mapEntity.addStringProperty("key").unigue().notNull();
mapEntity.addStringProperty("value");
然后创建一个关系 toOne()
或 toMany()
来引用相应的映射。
附言也许您应该选择 key
和 value
以外的名称。这些变量名经常使用,在greendao中可能会产生冲突。
关于greendao - 如何持久化 HashMap<String, String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26407369/