Ответ 1
Этот параметр конфигурации не имеет ничего общего с размером кеша первого уровня. И очистка сеанса ничего не удаляет из кеша. Он записывает ожидающие изменения (вставки, удаления, обновления) в базу данных. Кэш очищается только тогда, когда clear() явно вызван или когда сеанс закрыт. Если вы не очистите сеанс (или не определите конкретные объекты), кеш будет продолжать расти и расти. Это не проблема, поскольку она обычно очень короткая (длительность транзакции).
Пакетные обновления JDBC позволяют отправлять несколько запросов обновления в одну партию в базу данных. Это уменьшает количество сетевых вызовов. Вы можете просмотреть его как загрузку несжатого почтового индекса, содержащего 20 файлов, вместо отправки по 20 файлов по отдельности.
Путаница исходит из того факта, что обновления пакетов, упомянутые на странице, связанной с вашим вопросом, не имеют никакого отношения к пакетным обновлениям JDBC. Что означает Hibernate с пакетными обновлениями, это "обновления, выполняемые пакетным заданием". Пакетное задание обычно имеет гораздо более длительные транзакции, типичные для использования в бизнесе, и обновляет сотни, тысячи или даже больше объектов в одной транзакции. Вот почему Hibernate рекомендует регулярно промывать и очищать сеанс в этом случае, чтобы избежать нехватки памяти.