Я выполняю повтор по списку объектов и сохраняю один объект за раз после каждого цикла. Я обнаружил, что только последний объект всегда сохраняется при использовании интерфейса MongoRepository.Интерфейс репозитория сохраняет только последний экземпляр объекта, когда в цикле for и объемной вставки меняет объекты перед сохранением
, например
for(int i=0;i<=objectList.size();i++){
repositoryInterface.save(objectList.get(i));
}
В этом случае, только последний объект сохраняется, когда около 3 объектов в ObjectList.
Опять же, если repositoryInterface используется для сохранения всех objectList
в один запрос, сказать, repositoryInterface.save(objectList)
, только последние изменения последнего объекта в ObjectList это сохраняется для всех трех объектов в ObjectList. Например,
public class Book {
private String bookName;
private int bookNumber;
//then getters and setters
}
List<Book> books = new ArrayList<>();
Book book0 = new Book();
book0.setBookName("Book0");
book0.setBookNumber(0);
books.add(book0);
Book book1 = new Book();
book1.setBookName("Book1");
book1.setBookNumber(1);
books.add(book1);
for(int i=0;i< books.size();i++){
switch(i){
case 0 :
books.get(0).setBookNumber(00);
break;
case 1 :
books.get(1).setBookNumber(11);
break;
default:
System.out.println("nothing per this example");
}
}
repositoryInterface.save(books);
Теперь проверка базы данных Монго, что вставляется в
{bookName:"Book0",bookNumber:11},{bookName:"Book1",bookNumber:11}
вместо
{bookName:"Book0",bookNumber:00},{bookName:"Book1",bookNumber:11}
можно ли увидеть класс «Книга», пожалуйста? –
@ JensSchauder, пожалуйста, я обновил его. – Rbk
Где в примере кода вы создаете книгу под названием «Книга 2»? –