Hibernate Multiple Table Query Performance - PullRequest
0 голосов
/ 06 июня 2018

У меня есть проект, на котором есть страница панели инструментов.на этой странице панели инструментов я должен показать:

  1. Статистические диаграммы
  2. Новая информация
  3. Новые предложения пользователей для администратора
  4. Количество новыхсообщения
  5. ETC

Теперь каждая из приведенных выше сведений относится к разным таблицам в моей базе данных.

Я создал разные сущности и использую спящий режим.Предположим, что client-A открывает его панель инструментов, я должен выполнить несколько запросов для сбора всей информации от всех этих объектов.Вот проблемы:

  1. Поскольку каждый запрос внутри моей программы выполняется в одном потоке за раз, каждый запрос должен быть завершен для выполнения другого запроса (это не одновременно)
  2. В hibernate
  3. мы не можем создавать несколько запросов одновременно и отображать их на разные сущности. Аннотация @Formula не может сопоставлять целую сущность и просто отображать один тип данных

.Подход к эффективному и быстрому выводу состоит в том, чтобы создать один запрос Big Native и получить все данные сразу с помощью одного запроса НО , если я собираюсь сделать это, мне нужно написать собственный запрос и отобразить все с помощьюя сам, что делает подошву использования hibernate слабым.

Другой подход, который я думаю, заключается в использовании executor service и многопоточности в моем приложении

Теперь мой вопросявляется ли наилучшим подходом, который я все еще могу использовать для отображения гибернации и создания высокопроизводительных запросов?

Заранее спасибо

1 Ответ

0 голосов
/ 07 июня 2018

Кажется, ваша проблема проистекает из того, что вы считаете, что вам нужно собрать всю информацию для вашей панели мониторинга за один вызов контроллера, чтобы отобразить одну страницу.Что вы должны сделать, это сделать шаг назад и попытаться компонентить вашу панель управления.

Другими словами, я имею в виду использование асинхронной природы Ajax.

На самом деле нет причин использовать службу исполнителя с современной современной технологией браузера, когда браузер может обрабатывать несколько веб-запросов асинхронно для отображения одной веб-страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...