JPA: Как эффективно объединять таблицы?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 JPA: Как эффективно объединять таблицы?

Сообщение Anonymous »

В Java, с JPA и EclipseLink.
Предположим, у меня есть 3 таблицы: Поставщик, Заказ и Клиент
Я хочу получить всех клиентов, у которых есть заказ, по указанным поставщик
Предположим, поставщики и клиенты не связаны напрямую.
Они могут быть связаны только путем объединения посредством заказов:
У заказа может быть один клиент
A у клиента может быть несколько заказов
Заказ также связан с поставщиком
У поставщика может быть много заказов
У заказа может быть только 1 поставщикОдин из способов сделать это:
В JPA после настройки модели/объекта вы можете выполнить EntityManager.find(Supplier.class, 1)Это вернет поставщика и его заказы, оттуда мы сможем перейти к заказам и получить всех клиентов, связанных с этим поставщиком.
Но этот способ извлекает все данные, хотя нам нужны только клиенты и ничего больше, это создает нагрузку на БД и пропускную способность клиента.
Каков лучший способ JPA, JPQL для получения только данных клиентов, которые связаны с поставщиком?
Я знаю, что могу выполнить необработанный запрос, но это противоречит целям JPA.
Заранее спасибо,
С уважением,

Подробнее здесь: https://stackoverflow.com/questions/784 ... fficiently
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»