Дисклеймер: я много лет писал на .NET Core. Сейчас знакомлюсь с уютным миром Java.
Для лучшего понимания происходящего хочу задать вопрос:
Если, для примера, взять вот такой лоадер данных с JPQL запросом.
Cинхронно или асинхронно происходит обращение к БД ?
Блокируется ли поток, обрабатывающий WEB запрос на время похода в БД или нет?
Я пытаюсь провести параллель с async/await в .NET Core
При асинхронном подходе, в .NET Core поток не блокируется при походе в БД - он временно освобождается и может уделить время на другие запросы. Таким образом экономятся ресурсы.