Я пытаюсь реализовать функциональность, которая загружает часть базы данных в другую,
Допустим, в моей базе данных есть три таблицы:
- Сотрудник (EmpID, EmpName, BonID )
- Счёт (AccID, AccAlias, BonID )
- Бонус ( BonID , BonAmount)
- Acc_Emp ( EmpID , AccID )
Мы находимся в ситуации, когда у компании есть веб-приложение, которое отображает для каждого сотрудника свои будущие бонусы, и работник с экрана может искать свои выделенные бонусы и запрашивать перевод, поэтому пользователи найдут бонус на экране и нажмут накнопка, и это переведет деньги на связанный аккаунт.
Теперь у меня есть некоторый бонус, хранящийся в другой базе данных, и мне нужно перенести определенные бонусы, а не все эти бонусы, в базу данных webapp, предполагая, чтооба имеют одинаковую схему БД (таблицы, столбцы и все)
ThПроцесс, который я пытаюсь получить, состоит в том, чтобы извлечь данные из первой БД в файле JSON , а затем загрузить их во вторую БД.
Я использую Генератор идентификаторов Hibernate , поэтому мне нужно решить три проблемы:
Acc_Emp объединить таблицы , которые будут извлечены с первыми идентификаторами БД, а затемнеобходимо адаптировать к новым идентификаторам, сгенерированным Hibernate во второй БД
Обе таблицы зависят от бонусной таблицы , поэтому мне нужно сначала загрузить ее, чтобы получить ключи использовать его в таблицах Employee и Account в качестве внешнего ключа, но я не могу допустить, чтобы после вставки строки Bonus он был доступен на экране, и пользователь мог инициировать перевод до того, как система введет значения Account.
Я не могу добавить флаг , чтобы сделать бонус невидимым на экране, так как это требует изменения в Модели, и я не имею права делать это.
Есть ли у вас идеи Hibernate-конфигурация, которая может разрешить распределение идентификаторов перед вставкой данных ? Идея аналогична имитации вставки для получения идентификатора, с которым будут передаваться данные, и последующего использования его для обновления таблицы объединения, а затем вставки Employee, Account, Acc-Emp, Bonus.
Итак, шагибудет:
- Извлечение данных первой БД
- Получение ожидаемого идентификатора бонуса при вставке из второй БД (мы по-прежнему не вставляем просто размещение идентификаторов в БД, чтобы никто не использовал его)
- Обновление идентификаторов учетной записи и сотрудников с помощью правильного BonusID в файле JSON
- Получение ожидаемой вставки идентификаторов учетной записи и сотрудников из второй базы данных
- Обновление Acc-Emp с помощью идентификаторов в JSONфайл
- Вставьте все с правильными идентификаторами
Надеюсь, это понятно для вас, я попытался описать проблему на простом примере,
Заранее спасибо