@Document
public class PersonWrapper {
@Id
private ObjectId _Id;
@DBRef
private Person person
// Getters and setters removed for brevity.
}
public class Person
{
@Id
private ObjectId _Id;
private String name;
// Getters and setters removed for brevity.
}
而且 - 我有以下MongoReposityClass ...
public interface PersonWrapperRepository extends MongoRepository<Person, String> {
Person findByPerson_name(String name);
}
顯示repository類可能是毫無意義的 - 但基本上我在這裏做的是創建一個實例然後創建一個PersonWrapper對象,然後執行如下操作:
repo.insert(personWrapperInstance);
現在,雖然這將實際上起作用 - 我發現我需要先插入「Person」,然後將返回的對象添加到PersonWrapper,然後再插入一個。
這很好,我確信我可以編寫一些流控制來捕捉錯誤,並在出現問題時採取合理的行爲。
然而 - 每個人都知道這樣會效率低下,因爲這是兩次保存。 GOT是我可以基本創建嵌套對象的一種方式,並且在ParentWrapper上執行插入,並且如果mongo不存在,mongo會插入Person實例,對嗎?
我一直在Google上搜索,但遇到了一些問題,得到我想知道的。
有人可以幫我嗎?也許框架還沒有能力呢?我還沒有在網上找到答案。 – IWishIWasABarista