Comment stocker des HashMaps dans mongodb en utilisant la morphine?Comment stocker des HashMaps dans mongodb en utilisant la morphine?
Je ne suis pas sûr si c'est un bug dans la morphine, ou si je me trompe.
dire que j'ai ce modèle de domaine
@Entity("person")
public class Person {
private String property1;
private String property2;
private HashMap<String, Thing> things;
}
lorsque je tente de sauver ce en utilisant une classe qui étend BasicDAO repo.save (personInstance) je reçois cette erreur: (UsedView est l'équivalent de chose dans l'exemple ci-dessus)
java.lang.IllegalArgumentException: ne peut pas sérialiser classe com.model.designed.UsedView à org.bson.BSONEncoder._putObjectField (BSONEncoder.java:205) à org.bson.BSONEncoder.putMap (BSONEncoder.java:245) à org.bson.BSONEncoder._putObjectField (BSONEnco der.java:177) à org.bson.BSONEncoder.putObject (BSONEncoder.java:121) à org.bson.BSONEncoder.putObject (BSONEncoder.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) à l'adresse com.google.code.morphia.DatastoreImpl.save (DatastoreImpl.java:731) à l'adresse com.google.code. morphia.DatastoreImpl.save (DatastoreImpl.java:793) at com.google.code.morphia.DatastoreImpl.save (DatastoreImpl.java:787) à com.google.code.morphia.dao.BasicDAO.save (BasicDAO.java:109) ...
Ensuite, si je l'ai changé:
"private HashMap<String, Thing> things"
à
"private HashMap<String, String> things"
sauve ça va.
des pensées?
très apprécié!
humm, non ce n'est pas. habituellement si je définis dans la chose Chose de la classe; il est persisté correctement. Je vais essayer votre suggestion aujourd'hui et voir ce qui se passe. – Khon
donc j'ai finalement eu le temps d'essayer ce que vous avez suggéré, mais pas de dés. merci bien – Khon