Morphia返回包含Java HashMap作为属性的对象列表?

时间:2018-03-05 19:30:32

标签: mongodb hashmap morphia

我正在做一个Java项目,我正在使用morphia与mongodb进行交互。所以我有一个看起来像

的实体类
@XmlRootElement
@Entity(value = "CostMatrix",noClassnameStored = false)
public class CostMatrix implements Serializable{
    @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;
    }
}

现在,如果我检索此类的单个对象,morphia可以轻松地执行此操作,但如果我尝试将所有对象作为带有此类查询的列表获取

datastore.find(CostMatrix.class).asList()

然后我得到NullPointerException,这意味着morphia什么都不返回。对此有任何想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下查询:

查询myQuery = datastore.createQuery(CostMatrix.class); myQuery.asList();

这应创建一个查询,搜索所有CostMatrix对象并返回列表中的对象。