我是mongo和Morphia的新手,
我想知道我的问题是否是一个Morphia - > fromDBObject函数bug?
对象扫描设置:
morphia.mapPackage("com.project.model");
我在Morphia.java上设置了一个断点,我可以在Mapped Classes哈希映射中看到我的对象
所以这一行回归真实:
mapper.isMapped(entityClass)
如果我评估函数的最后一行:
return (T) mapper.fromDBObject(entityClass, dbObject, cache);
它将正确返回映射对象。
虽然fromDBObject函数抛出异常(试图映射到未映射的类)
public <T> T fromDBObject(final Class<T> entityClass, final DBObject dbObject, final EntityCache cache) {
if (!entityClass.isInterface() && !mapper.isMapped(entityClass)) {
throw new MappingException("Trying to map to an unmapped class: " + entityClass.getName());
}
try {
return (T) mapper.fromDBObject(entityClass, dbObject, cache);
} catch (Exception e) {
throw new MappingException("Could not map entity from DBObject", e);
}
}
不应该有条件:
if (!entityClass.isInterface() || !mapper.isMapped(entityClass))