如何使用morphia映射字符串的HashMap和字符串的ArrayList

时间:2017-08-21 05:37:09

标签: java mongodb morphia

目前,我正在尝试将string的字符串和ArrayList的地图保存为:

@Embedded("prprty")
private HashMap<String, ArrayList<String>> prprtyMap;

但是尝试保存它会导致异常

com.google.code.morphia.mapping.MappingException: Error mapping field:roposo.roposocore.models.ScheduleStoryMongo.prprtyMap
        at com.google.code.morphia.mapping.Mapper.toDBObject(Mapper.java:542) ~[com.google.code.morphia.morphia-0.102.jar:na]
        at com.google.code.morphia.mapping.Mapper.toDBObject(Mapper.java:522) ~[com.google.code.morphia.morphia-0.102.jar:na]
        at com.google.code.morphia.DatastoreImpl.entityToDBObj(DatastoreImpl.java:775) ~[com.google.code.morphia.morphia-0.102.jar:na]
        at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:836) ~[com.google.code.morphia.morphia-0.102.jar:na]
        at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:913) ~[com.google.code.morphia.morphia-0.102.jar:na]
        at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:898) ~[com.google.code.morphia.morphia-0.102.jar:na]

使用Morphia Driver保存此类地图的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我能够通过使用ArrayList中需要字符串的内部类来解决这个问题。 然后,我能够使用:

保存地图
@Embedded("prprty")
private HashMap<String, InnerClassWithArrayStrings> prprtyMap;