我最近問這個問題: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