Хороший ответ на этот вопрос зависит от объема данных.
Если количество невелико, просто получите все объекты из всех баз данных и поместите их в коллекцию.Это самое простое в обслуживании.
При незначительной загрузке данных, поступающих из одной базы данных, и значительной загрузке данных из другой, возможно, это хороший вариант для сбора второстепенных данных, передачи их в базу данных с основнымиданные и пусть база данных сделает всю работу.
В большинстве случаев рекомендуется поддерживать низкий уровень потока данных между вашим приложением и базой данных.
Возможно, вы сможете немного подробнее рассказать о своих вопросах ...
--- edit ---
Хорошо, значит, вы хотите синхронизировать все с вашей главной базой данных B.
Существует несколько подходов, в зависимости от нескольких параметров среды, которые выиметь, два основных направления:
- Выполнять полную итерацию каждый раз (легко программировать и поддерживать, очень плохая производительность)
- Выполнить полную синхронизацию один раз и после этого выполнить дельта-обновления(сложнее - очень трудно поддерживать, очень хорошая производительность)
To 1.)
Если все элементы из таблицы без проблем поместятся в вашу основную память, возьмите всетам, и делай свои вещи там.Если нет, вы должны сделать это кучу за кучу.
До 2.)
a) Чтобы сделать дельты, вы должны идентифицировать измененные элементы.Для этого вы можете использовать триггеры БД, но это очень специфично для БД и очень сложно поддерживать,
или
b) вы можете ввести столбцы таблицы, которые имеют номера версий только для вашей синхронизации,который вы подсчитываете, если сущность завершена.
Номер версии может быть введен в Frameworks, например, в Hibernate, проще, но все же у вас есть большая кодовая база для выполнения ваших задач, так как вы должны проверить версиюи т. д. Но гораздо лучшая производительность сделает дельта-обновления наиболее распространенным подходом.