使用 Morphia 在 MongoDB 中映射 POJO 和使用引用

Mapping POJOs and Using Reference in MongoDB using Morphia

我有两个模型 classes。一个是 Company.java,另一个是 HumanResource.java。

Company.java

@Entity("companies")
public class Company {
@Id
private ObjectId id = new ObjectId();
private String companyName;
private String emailAddress;
private String pictureUrl;
@Reference
private List<HumanResource> humanResources;
...

HumanResource.java

@Entity("humanresources")
public class HumanResource {
@Id
private ObjectId id = new ObjectId();
private String firstName;
private String lastName;
private String emailAddress;
@Reference
private Company company;
...

我想实现的是当我将公司列表保存到数据存储时,应该自动插入相关的人力资源文档列表。

此外,我声明

@Id
private ObjectId id = new ObjectId();

在每个模型中 class。这是一个好方法还是我应该改变它?

Morphia 不会对这些引用调用 save()。您必须在要保留的实例上调用 save()。您可以传入一个实例列表,这样就不必循环,但每个实例都需要显式传入。