Что ж, я использую в Spring многопользовательскую архитектуру и могу помочь вам с тем, что делаю.
1: Если у вас разные таблицы для разных клиентов, вы можете использовать TenantFilter поверх своего Entity или вы можете определить свою индивидуальную схему в schema. sql и использовать JdbcTemplate для выполнения SQL.
Я бы предпочел второй вариант первому, потому что он гарантирует правильное создание схемы.
2: Вы можете переключиться на свой tenant2 с tenant1 с помощью TenantContext, и как только вы закончите свою обработку, вы можете вернуться к tenant1.
Есть много демонстрационных проектов по мультиарендности с весенней загрузкой на GitHub вы можете посмотреть там.