Morphia:将 DBObject 转换为实体
Morphia: Translating DBObject to Entity
我正在尝试使用 here 中所述的 Morphia 库从 MongoDB 检索 Java 对象。这需要指定实体class;但是,我将遍历集合列表,并希望能够任意将 DBObjects 转换为它们各自的 Java 对象。
Morphia 将 Java 关联存储在 className
字段中,那么有没有办法利用它,以便我没有明确定义实体 class?
泛型是你的朋友。您的实体应该继承自基础实体。然后你可以像这样的通用查询:
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
我正在尝试使用 here 中所述的 Morphia 库从 MongoDB 检索 Java 对象。这需要指定实体class;但是,我将遍历集合列表,并希望能够任意将 DBObjects 转换为它们各自的 Java 对象。
Morphia 将 Java 关联存储在 className
字段中,那么有没有办法利用它,以便我没有明确定义实体 class?
泛型是你的朋友。您的实体应该继承自基础实体。然后你可以像这样的通用查询:
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