Пакетная вставка с использованием Hibernate: почему статистика показывает другое количество очищенных прав доступа? - PullRequest
0 голосов
/ 01 декабря 2018

Я новичок в 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?Заранее благодарен за помощь

...