我有一个用户定义的类CostMatrix这个类包含两个属性,两个属性的数据类型都是HashMap。我正在使用 Morphia 与 mongodb 进行通信,所以我的实体类看起来像这样
@Entity(value = "CostMatrix",noClassnameStored = false)
public class CostMatrix {
@Id
private String id;
private HashMap<String,Double> distances;
private HashMap<String,Double> durations;
public CostMatrix(){}
public CostMatrix(String id, HashMap<String,Double>distances, HashMap<String,Double>durations) {
this.id = id;
this.distances = distances;
this.durations = durations;
}
我无法将对象正确存储到数据库中对象以任何方式存储,但是当我检索它时只返回 id 和类名,任何想法都将不胜感激。
只需为班级成员添加吸气剂。这与它们是地图无关,它处理地图就像处理对象一样(键是对象属性,值是值)。
如果您不想在您的集合中包含任何类/包名称,只需将 noClassnameStored 标志设置为 true。
@Entity(value = "CostMatrix",noClassnameStored =**true**)
关于保存的部分,你有没有给你的地图填一些值?映射器将忽略空值和空列表。