Spring boot 2 hibernate множественная схема - PullRequest
1 голос
/ 19 марта 2019

У меня есть одна дБ (MySql) и несколько схем (schema_a, schema_b, schema_c).Схемы имеют одинаковые таблицы, идентичные.

Текущая схема зависит от данных текущего пользователя (сеанса).Например, текущий пользователь из компании A, тогда текущая схема - "schema_a".Соответственно, метод EmployeeRepository.findAll () извлекает данные из схемы "schema_a".

Возможно ли динамическое изменение текущего entityManager в спящем режиме с пружинной загрузкой 2?Если да, то как?

Помогите, пожалуйста

1 Ответ

1 голос
/ 19 марта 2019

То, о чем вы говорите, называется мультитенантной архитектурой.

Вы можете установить catalog (это схема в вашем случае) на основе некоторой информации для аутентификации.

То, как вы это сделаете, реализует interceptor, который определяет, какую схему необходимо установить, а затем устанавливает правильный "арендатор" на TheardLocal (по которому выполняется ваш запрос). Я использовал этот подход с большим успехом, и я верю, что это точно , что вы ищете.

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

...