Mongodb Morphia/Mongo无法链接@Reference,因为:无法获取引用

Mongodb Morphia/Mongo无法链接@Reference,因为:无法获取引用,mongodb,morphia,mongorestore,dbref,Mongodb,Morphia,Mongorestore,Dbref,我已经建立了一个简单的数据存储来存储版本和构建。这是他们的课- @Entity("Version") public class Version { @Id private ObjectId id = new ObjectId(); public Version() {} private String name; } (类中的字段实现了它们的getter、setter、构造函数和toString) 现在我尝试先存储版本,然后尝试存储一个构建,然

我已经建立了一个简单的数据存储来存储版本和构建。这是他们的课-

@Entity("Version")
public class Version {
    @Id
    private ObjectId id = new ObjectId();
    public Version() {}
    private String name;
}
(类中的字段实现了它们的getter、setter、构造函数和toString)

现在我尝试先存储版本,然后尝试存储一个构建,然后读取存在的所有构建

Version version = new Version("first");
Version version2 = new Version("second");

VersionDAO.saveVersion(version);
VersionDAO.saveVersion(version2);
VersionDAO.printAllVersions();

Build build = new Build(version, "Hello");
BuildDAO.saveBuild(build);
BuildDAO.getAllBuilds();
VersionDAO.getAllVersions()
工作正常,可以获取存储的版本列表,但是
BuildDAO.getAllBuilds()会抛出一个错误-

线程“main”dev.morphia.mapping.MappingException中出现异常:无法在数据库“Builds”中映射ID为602f4e9ff760cd5638698273的morphia.Build

导致的原因:dev.morphia.mapping.MappingException:无法获取引用({“$ref”:“Version”,“$id”:“602f4e7b96f28d54bd1cc883”})以尝试\u morphia.Build.Version

似乎有一些参考链接的问题,我似乎无法理解。我必须使用@Reference,因为这段代码是更大代码的一部分,我无法更改整个代码

MongoDB指南针将构建条目的值显示为-

_id: ObjectId("602f4e9ff760cd5638698273")  
className: "trying_morphia.Build"  
version: DBRef(Version, 602f4e7b96f28d54bd1cc883, undefined)  
name:"Hello"  
我在参考资料中遗漏了什么


我尝试的是:将版本和内部版本的id都更改为字符串。

Morphia不支持跨数据库引用。您将需要手动管理这些引用。

似乎版本和内部版本在单独的数据库中。将集合复制到另一个DB用于本地小副本的代码,需要找到一种方法来引用以在其他数据库中查找集合。
_id: ObjectId("602f4e9ff760cd5638698273")  
className: "trying_morphia.Build"  
version: DBRef(Version, 602f4e7b96f28d54bd1cc883, undefined)  
name:"Hello"