HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory
Hibernate выводит важное предупреждение, когда для постраничного вывода приходится загружать сразу ВСЕ записи из базы данных — вместо того, чтобы запрашивать страницы порциями.
Проблема возникает потому, что число записей не совпадает с числом самих объектов (например, один пост имеет много комментариев). Из-за этого пагинация на SQL-уровне невозможна.
Чтобы реализовать пагинацию программно, Hibernate вытаскивает все данные целиком — и вот тут-то кроется подвох!
В статье разобраны разные способы устранения проблемы 🚀
https://habr.com/ru/articles/856092/
#Hibernate #Database
Hibernate выводит важное предупреждение, когда для постраничного вывода приходится загружать сразу ВСЕ записи из базы данных — вместо того, чтобы запрашивать страницы порциями.
Проблема возникает потому, что число записей не совпадает с числом самих объектов (например, один пост имеет много комментариев). Из-за этого пагинация на SQL-уровне невозможна.
Чтобы реализовать пагинацию программно, Hibernate вытаскивает все данные целиком — и вот тут-то кроется подвох!
В статье разобраны разные способы устранения проблемы 🚀
https://habr.com/ru/articles/856092/
#Hibernate #Database
Хабр
HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory
Это предупреждение, которое выведет хибернейт, если для осуществления пагинации ему придется загрузить ВСЕ данные из таблицы, а не по одной странице. 🤔 Почему возникает? Например, у нас есть две...
🔥6❤4👍2👎1
Виртуальные потоки Java: разбор тестовых сценариев
Команда Open Liberty изучила влияние виртуальных потоков на производительность Java-приложений и поделилась результатами исследования.
🔹 Что нового: Виртуальные потоки предлагают альтернативу классическим пулам потоков, реализованным в Liberty.
🔸 Основные выводы:
✅ Для большинства облачных рабочих нагрузок использование виртуальных потоков не даёт заметных преимуществ перед адаптивными пулами потоков Open Liberty.
❌ Нагрузки, активно использующие процессор, показывают меньшую пропускную способность с виртуальными потоками, хотя причина этого ещё выясняется.
⚡️ Время выхода на полную мощность обработки запросов сокращается благодаря использованию виртуальных потоков («один поток на запрос»).
📊 Объем занимаемой памяти зависит от множества факторов, поэтому снижение потребления памяти виртуальными потоками не гарантирует общего снижения затрат ресурсов.
⚠️ Обнаружены случаи неожиданных падений производительности, над которыми продолжается работа совместно с сообществом OpenJDK.
Статья подробно описывает тестирование, сравнение технологий и рекомендации по выбору подходящей стратегии многопоточности для приложений на платформе Open Liberty.
https://habr.com/ru/companies/otus/articles/856464/
#java #OpenLiberty #multithreading #VirtualThreads
Команда Open Liberty изучила влияние виртуальных потоков на производительность Java-приложений и поделилась результатами исследования.
🔹 Что нового: Виртуальные потоки предлагают альтернативу классическим пулам потоков, реализованным в Liberty.
🔸 Основные выводы:
✅ Для большинства облачных рабочих нагрузок использование виртуальных потоков не даёт заметных преимуществ перед адаптивными пулами потоков Open Liberty.
❌ Нагрузки, активно использующие процессор, показывают меньшую пропускную способность с виртуальными потоками, хотя причина этого ещё выясняется.
⚡️ Время выхода на полную мощность обработки запросов сокращается благодаря использованию виртуальных потоков («один поток на запрос»).
📊 Объем занимаемой памяти зависит от множества факторов, поэтому снижение потребления памяти виртуальными потоками не гарантирует общего снижения затрат ресурсов.
⚠️ Обнаружены случаи неожиданных падений производительности, над которыми продолжается работа совместно с сообществом OpenJDK.
Статья подробно описывает тестирование, сравнение технологий и рекомендации по выбору подходящей стратегии многопоточности для приложений на платформе Open Liberty.
https://habr.com/ru/companies/otus/articles/856464/
#java #OpenLiberty #multithreading #VirtualThreads
Хабр
Виртуальные потоки Java: разбор тестовых сценариев
С выходом JDK 21 появилась широко разрекламированная новая функция — виртуальные потоки Java. Это нововведение помогает разработчикам на Java лучше управлять параллелизмом в своих приложениях....
👍3🔥2❤1