Я новичок в Spring и Hibernate.У меня есть 157 записей, и я хочу пакетно вставить записи с помощью Hibernate.Я создал свою сущность, и в моем сервисе я составляю список сущностей.Я использую CrudRepository.saveAll(List)
для пакетной вставки.
Но статистика Hibernate показывает мне 1045 очищенных сущностей.Когда я добавляю что-то в логгер, чтобы увидеть SQL-запросы, это как раз 157 операторов для этого объекта.Это показывает размер партии как то, что я defined(160)
.Я пробовал разные способы, такие как session.flush
и session.clear
.Все остальные методы имеют тот же результат.Это сохраняет 157 записей в базе данных, что означает, что результат правильный.Почему он показывает мне 1045 вместо 157?Могу ли я увидеть количество вставленных сущностей вместо этого?
PS: в статистике 158 операторов, потому что одна запись предназначена для другой сущности, которая не является частью моего вопроса.
Это часть моего кода:
for (int i = 0; i < listsize; i++){
listFields.add(entity);
}
FieldsDAO.saveAll(listFields);
и снимок экрана для отчета spring.jpa.properties.hibernate.generate_statistics = true
Мое второе беспокойство заключается в том, почему он выполняет как пакетную, так и инструкцию JDBC?Заранее благодарен за помощь