greendao - 如何持久化 HashMap<String, String>?

标签 greendao greendao-generator

如何在 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() 来引用相应的映射。

附言也许您应该选择 keyvalue 以外的名称。这些变量名经常使用,在greendao中可能会产生冲突。

关于greendao - 如何持久化 HashMap<String, String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26407369/

相关文章:

android - 更改表列无法使用 Greendao-Android 访问

android - 无法生成小写的 greenDao 实体

android - GreenDao Generator 类在生成模型和 Dao 类时出错。

android - greenDAO 生成器给出了没有意义的控制台错误

android - greendao 字符串主键 - 如何使用

android - 带有混淆器的 GreenDAO : NoSuchFieldException: TABLENAME

android - Unresolved reference : DaoSession using greendao and kotlin

java - DaoObject 上的 GreenDao NoClassDefFoundError