Morphia:将DBObject转换为实体

时间:2015-01-15 07:23:18

标签: java mongodb morphia nosql

我试图使用Morphia库从MongoDB中检索Java对象,如here所述。这要求指定实体类;但是,我将在一个集合列表上进行迭代,并希望能够将DBObjects任意转换为各自的Java对象。

Morphia将Java关联存储在className字段中,那么有没有办法利用它,以便我没有明确定义实体类?

1 个答案:

答案 0 :(得分:1)

泛型是你的朋友。您的实体应从基础实体继承。然后你可以通用查询,例如:

public <E extends BaseEntity> ObjectId persist(E entity) {
  mongoDatastore.save(entity);
  return entity.getId();
}

有关完整的代码示例,请查看以下内容:https://github.com/xeraa/morphia-demo/blob/master/src/main/java/net/xeraa/morphia_demo/entities/BaseEntity.java