Как работает пул соединений с источниками данных в Hibernate Multi-tenancy с несколькими клиентскими данными, хранящимися в разных схемах на одном экземпляре БД? - PullRequest
0 голосов
/ 25 марта 2019

Продукт, над которым я работаю, имеет один экземпляр базы данных MSSQL, а внутри у нас есть отдельная схема для каждого клиента. Все эти схемы имеют одинаковую структуру таблицы. Мы используем гибернацию мультитенантности. У нас есть один источник данных в нашей конфигурации Wildfly. Теперь то, что мы делаем в нашем коде Java, на основе идентифицированного клиента, мы подключаемся к этой базе данных в том же экземпляре базы данных. Мы делаем это, запуская запрос «Use [XYZ]», а затем возвращая соединение через Hibernate Multi-tenancy. Когда я читаю о Hibernate Multi-tenancy, он говорит, что данные для каждого клиента должны находиться в физически отдельном экземпляре базы данных. Что не так в нашей среде.

Вот ссылка на Hibernate: http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html

Мой вопрос здесь заключается в том, как будет осуществляться пул соединений в этом случае, поскольку у нас есть один источник данных, настроенный в Wildly? Этот источник данных используется всеми клиентами и повторно запускает несколько соединений на основе идентификатора клиента. Это хороший подход, учитывая, что клиенты добавляются во время выполнения? В этом случае должен быть отдельный пул соединений?

Statement = connection.createStatement (); Statement.execute ("use [" + databaseName + "]");

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