Запрашиваете ли вы базу данных, чтобы вывести 100 000 записей на средний уровень, чтобы можно было выполнить вычисления для этого отчета?Если ответ «да», я бы рассмотрел хранимую процедуру или представление для этого отчета, чтобы вы могли выполнять вычисления на сервере базы данных и уменьшать объем данных и обработку при создании отчета.
Проверьте своисхема, обеспечивающая наличие индексов для всех столбцов в предложениях WHERE, включая внешние ключи.Получите сгенерированный SQL из Hibernate и в EXPLAIN PLAN, чтобы увидеть, на что тратится время.
Это одна из проблем, с которыми люди сталкиваются в Hibernate: что делать, если сгенерированный SQL недостаточно производительный.Возможно, вам придется прибегнуть к чему-то другому, например, к прямому JDBC или iBatis, если Hibernate не может выполнить эту работу.