Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Подход для загрузки сложного графа объектов из БД / 6 сообщений из 6, страница 1 из 1
27.10.2020, 14:30
    #40012211
Bakuard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подход для загрузки сложного графа объектов из БД
Доброго времени суток.

Задача: в некотором WEB приложении имеется БД со следующей структурой таблиц


и набор классов со следующей структурой


Необходимо загрузить объект Dish из БД по его ID включая все объекты, которые он должен содержать, с учетом того, что БД и модель находятся на разных серверах.

Вопрос: Стоит ли пытаться загрузить все одним запросом или стоит как-то разбить загрузку на несколько подзапросов? Если стоит разбить на несколько подзапросов, то по какому принципу проводить разбиение?
...
Рейтинг: 0 / 0
27.10.2020, 14:46
    #40012222
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подход для загрузки сложного графа объектов из БД
Bakuard
Стоит ли пытаться загрузить все одним запросом или
ты не возле компа что ли?
Если возле то бегом загружай объект и говори что не получилось.
...
Рейтинг: 0 / 0
27.10.2020, 14:50
    #40012228
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подход для загрузки сложного графа объектов из БД
PetroNotC Sharp
Если возле то бегом загружай объект и говори что не получилось.
+100500
...
Рейтинг: 0 / 0
27.10.2020, 16:32
    #40012278
Bakuard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подход для загрузки сложного графа объектов из БД
PetroNotC Sharp
Bakuard
Стоит ли пытаться загрузить все одним запросом или
ты не возле компа что ли?
Если возле то бегом загружай объект и говори что не получилось.


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

P.s. почему-то вместо картинки с диаграммой ERD опять загрузилась картинка с диаграммой классов. Не понимаю, как работает загрузка картинок на этом форуме.
...
Рейтинг: 0 / 0
27.10.2020, 16:57
    #40012286
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подход для загрузки сложного графа объектов из БД
Bakuard
Получилось, но долго.
ветка программистов а не теоретиков. Давай код.
ТС работает больше отвечающих.
Поставь все свойства ленивые у объекта и загрузи его. Код сюда.
...
Рейтинг: 0 / 0
28.10.2020, 07:10
    #40012446
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подход для загрузки сложного графа объектов из БД
Bakuard,

Если не хотите "думать", то просто используете Hibernate с включенным кэшем.
Можно и Spring Data Jpa, но всё равно там внутри Hibernate.
Сложность будет только в правильном описании сущностей, точнее связи между ними.
Когда и что грузить, сразу, или по требованию.
Всю черновую работу возьмет Hibernate, вам только надо будет декларативно в аннотации указать, что вы хотите.

Если трудности не страшат, то пишите запросы вручную.
Оптимизируйте их.
А потом напишите код, для преобразования ResultSet в вашу модель данных.

Что и как делать, ответите можете только вы, в зависимости от задачи.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Подход для загрузки сложного графа объектов из БД / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]