Spring multi tenancy - PullRequest
       17

Spring multi tenancy

1 голос
/ 12 июня 2019

У меня есть две базы данных: Oracle и PostgreSQL, где у меня несколько схем - по одной на каждого клиента.Мне нужно иметь возможность маршрутизировать источники данных по веб-запросу.Я пытался использовать Spring's AbstractRoutingDatasource, но он работает только с одним диалектом.Есть ли другие решения для этой задачи?

1 Ответ

0 голосов
/ 24 июня 2019

Я нашел решение. Вы можете подробно рассказать Hibernate, какой диалект выбрать, используя свойство hibernate.dialect. Таким образом, вы можете реализовать свой собственный диалект расширяет класс org.hibernate.dialect.Dialect, переопределить все открытые методы и делегировать вызовы определенных диалектов. Хорошо, что Hibernate вызывает методы this (Dialect) перед выполнением любых запросов к базе данных. В моем конкретном случае я реализовал собственный диалект с картой диалектов, которая мне нужна для моего проекта, и теперь я могу использовать одни и те же репозитории и свободно выбирать Postgresql, Oracle или MySQL в зависимости от пользователя, вошедшего в систему

...