Как мне хранить HashMaps в mongodb, используя morphia?
Я не уверен, является ли это ошибкой в morphia, или я просто делаю это неправильно.
говорят, что у меня есть эта модель домена
@Entity("person")
public class Person {
private String property1;
private String property2;
private HashMap<String, Thing> things;
}
, когда я пытаюсь сохранить это с помощью класса, расширяющего BasicDAO repo.save (personInstance), я получаю эту ошибку: (UsedView является эквивалентомВ примере выше)
java.lang.IllegalArgumentException: невозможно сериализовать класс com.model.designed.UsedView в org.bson.BSONEncoder._putObjectField (BSONEncoder.java:205) в org.bson.BSONEncoder.putMap (BSONEncoder.java:245) в org.bson.BSONEncoder._putObjectField (BSONEncoder.java:177) в org.bson.BSONEncoder.putObject (BSONEncoder.java:121) в org.bson.BNonecoder.java: 67) в com.mongodb.OutMessage.putObject (OutMessage.java:189) в com.mongodb.DBApiLayer $ MyCollection.insert (DBApiLayer.java:245) в com.mongodb.DBApiLayer $ MyCollection.insert (DBApiLayer.Java: 209) на com.mongodb.DBCollection.insert (DBCollection.java:66) на com.mongodb.DBCollection.save (DBCollection.java:622) на com.google.code.morphia.DatastoreImpl.save (DatastoreImpl.java).: 731) на com.google.code.morphia.DatastoreImpl.save (DatastoreImpl.java:793) на com.google.code.morphia.DatastoreImpl.save (DatastoreImpl.java:787) на com.google.code.morphia.dao.BasicDAO.save (BasicDAO.java: 109) ...
Тогда, если я изменил:
"private HashMap<String, Thing> things"
на
"private HashMap<String, String> things"
, это прекрасно спасет.
есть мысли?
высоко ценится!