3

如何在 greenDAO 中持久化 HashMap 以及如何生成相应的实体?

我已经前后两次阅读了文档,但没有任何内容。谷歌也没有任何帮助。

4

1 回答 1

4

您应该为值创建一个带有 String-primary-key 和 String-proerty 的实体:

Entity mapEntity = schema.addEntity("Map");
mapEntity.addStringProperty("key").primaryKey();
mapEntity.addStringProperty("value");

也许需要一些其他属性的属性(取决于你的需要),比如唯一的,notNull。

如果您想将 Map 存储在实体中,那就不那么简单了:

基本上,您创建一个这样的实体来存储所有地图:

Entity mapEntity = schema.addEntity("Map");
mapEntity.addLongProperty("id").primaryKey().autoIncrement();
mapEntity.addStringProperty("key").unigue().notNull();
mapEntity.addStringProperty("value");

然后创建关系toOne()toMany()引用相应的映射。

PS也许你应该选择除keyand以外的其他名称value。这些变量名经常使用,在greendao中可能会产生冲突。

于 2014-11-14T22:38:45.827 回答