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