В Java, с JPA и EclipseLink.
Предположим, у меня есть 3 таблицы: Поставщик, Заказ и Клиент
Я хочу получить всех клиентов, у которых есть заказ, по указанным поставщик
Предположим, поставщики и клиенты не связаны напрямую.
Они могут быть связаны только путем объединения посредством заказов:
У заказа может быть один клиент
A у клиента может быть несколько заказов
Заказ также связан с поставщиком
У поставщика может быть много заказов
У заказа может быть только 1 поставщикОдин из способов сделать это:
В JPA после настройки модели/объекта вы можете выполнить EntityManager.find(Supplier.class, 1)Это вернет поставщика и его заказы, оттуда мы сможем перейти к заказам и получить всех клиентов, связанных с этим поставщиком.
Но этот способ извлекает все данные, хотя нам нужны только клиенты и ничего больше, это создает нагрузку на БД и пропускную способность клиента.
Каков лучший способ JPA, JPQL для получения только данных клиентов, которые связаны с поставщиком?
Я знаю, что могу выполнить необработанный запрос, но это противоречит целям JPA.
Заранее спасибо,
С уважением,
Подробнее здесь: https://stackoverflow.com/questions/784 ... fficiently
JPA: Как эффективно объединять таблицы? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Инструменты, которые могут объединять CSV с метаданными и передавать их в LLM для запроса.
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-