Представление базы данных для нескольких отношений один ко многим - PullRequest
1 голос
/ 21 сентября 2010

Каков наилучший способ разработки представления для приложения Java / Hibernate для следующего сценария:

Существует объект A, который имеет отношение один ко многим с объектом B, объектом C и объектом D.

Необходимо показать все отношения сущности А в одной таблице в пользовательском интерфейсе.

Имеет ли смысл создать представление базы данных и сопоставить его с помощью спящего режима.

или

Имеете всю логику в Java и заполняете POJO результатами нескольких запросов, выполненных через Hibernate?

В первом случае, если используются представления, то является ли такое представлениеВозможный ?Мне не удалось найти информацию о создании представлений со структурой, такой как идентификатор объекта, идентификатор компонента, тип компонента (где идентификатор компонента и тип компонента будут иметь значения из объектов B, C, D).

Есть личто-то, что я делаю в корне неправильно?

1 Ответ

0 голосов
/ 21 сентября 2010
SELECT a.Id AS AID, b.Id AS BID, c.Id AS CID
FROM EntityA a
LEFT JOIN EntityB b ON a.Id = b.aId
LEFT JOIN EntityC c ON a.Id = b.aId

Вы можете сделать это представление, но это почти то же самое, что выполнять этот запрос каждый раз, если ваша база данных не может оптимизировать его каким-либо образом (предварительно вычислить и т. Д.). Я не специалист по спящему режиму, но это довольно простой запрос. Я не могу представить никаких проблем.

...