Многопользовательский режим гибернации с разными таблицами для каждого клиента - PullRequest
1 голос
/ 10 июля 2020

Есть ли способ определить с помощью спящего режима, какие сущности должны быть созданы в каком клиенте? Поскольку для разных клиентов таблицы не совпадают.

И второй вопрос, можно ли настроить (также с гибернацией), что я хочу получить доступ к таблицам tenant2 от tenant1.

I использовать встроенную базу данных h2. Я хотел бы автоматически создавать таблицы с помощью hibernate.hbm2ddl.auto и заполнять эти таблицы файлами миграции пролетного пути.

1 Ответ

0 голосов
/ 15 июля 2020

Что ж, я использую в Spring многопользовательскую архитектуру и могу помочь вам с тем, что делаю.

1: Если у вас разные таблицы для разных клиентов, вы можете использовать TenantFilter поверх своего Entity или вы можете определить свою индивидуальную схему в schema. sql и использовать JdbcTemplate для выполнения SQL.

Я бы предпочел второй вариант первому, потому что он гарантирует правильное создание схемы.

2: Вы можете переключиться на свой tenant2 с tenant1 с помощью TenantContext, и как только вы закончите свою обработку, вы можете вернуться к tenant1.

Есть много демонстрационных проектов по мультиарендности с весенней загрузкой на GitHub вы можете посмотреть там.

...