我最近问这个问题:Spring Mongodb - Insert Nested document?Spring Hibernate - 它支持嵌套对象吗?
,并发现弹簧数据的MongoDB不支持这样的行为 - 所以现在我需要一个工作方案。
现在 - 以避免你看看另一页上的代码,我要在这里与其他问题贴......这里是我的两个的POJO:
@Document
public class PersonWrapper {
@Id
private ObjectId _Id;
@DBRef
private Person leader;
@DBRef
List<Person> delegates;
// Getters and setters removed for brevity.
}
public class Person
{
@Id
private ObjectId _Id;
private String name;
// Getters and setters removed for brevity.
}
现在,我想要什么能够在这里做的 - 在我的POST请求发送了一个JSON对象,如下所示:
{
"personWrapper":
{
"_Id":"<ID HERE (MIGHT WANT SQL TO GENERATE THIS DURING CREATE>",
"leader":{
"_Id":"<ID HERE (MIGHT WANT SQL TO GENERATE THIS DURING CREATE>",
"name":"Leader McLeaderFace"
},
delegates:[{...},{...},{...}]
}
}
在这一点 - 我想这样做的SQL一边以创建单个记录所需 - 然后插入PersonWrapper记录,以最有效的方式将所有正确的外键记录到期望的记录中尽可能的方式。老实说,如果你们其中一个人认为我对Spring-Data-MongoDB的方法有误,我仍然对这个答案感兴趣 - 因为它会为我省去迁移数据库设置的麻烦。所以我仍然会在这里标记spring-data-mongodb社区。
好吧,我会准备保存人员名单,然后保存包装,但什么是最有效的方法呢? – IWishIWasABarista