Сохранение нескольких объектов spring jpa из облачного api в базу данных prem

#mysql #hibernate #jpa #spring-data-jpa #jpa-2.0

#mysql #спящий режим #jpa #spring-data-jpa #jpa-2.0

Вопрос:

Я столкнулся с очень своеобразной проблемой, связанной с api. Этот api имеет несколько объектов jpa, сохраняемых в нескольких таблицах базы данных. API развернут в облаке, а база данных находится в prem. Мы используем spring data crudrepository и jparepository для сохранения. Мы знаем о сетевой задержке между облачной и сетевой инфраструктурой, и в настоящее время моя фирма не готова перенести базу данных в облако или использовать какой-либо компонент aws между api и базой данных. Также сохраненный параметр proc отсутствует в таблице. Таким образом, сохраняя все ограничения, мы должны оптимизировать сохранение объектов в таблицах. Цель состоит в том, чтобы посмотреть, может ли это сохраняться при меньшем сетевом вызове вместо нескольких сохранений. Ниже приведен пример

Мы пробовали repo.save / saveall и repo.saveAndflush, но с той же производительностью. Было бы очень полезно, если бы могло быть пакетное решение проблемы, когда с меньшим количеством вызовов мы можем сохранять несколько объектов в нескольких базах данных. Любая помощь будет оценена.

Комментарии:

1. Сколько объектов вы вставляете? По умолчанию jparepository будет вставлять объекты один за другим. Вы можете указать jpa использовать пакетную обработку при вставке. Или вы можете перейти на полную версию.

2. Около 25 объектов.. Как происходит пакетная вставка, когда в нескольких таблицах есть несколько вставок объектов?

3. Я не вижу никакого решения, кроме перехода на родной язык. Ваша БД может поддерживать множественную вставку в несколько таблиц или вы можете использовать хранимые процедуры.