Я реализую мультитенантное приложение на основе Java 8, Spring Boot 2 и JPA / Hibernate 5
Есть разные подходы к этому, я выбрал подход, основанный на схемах. Документы Hibernate также пишут о поддержке этого.
Я также посмотрел некоторые учебные пособия
Но похоже, что все в сети используют собственный SQL для переключения схемы. Я не только должен поддерживать несколько СУБД, но я мог бы предоставлять разные реализации, но кажется, что MS SQL Server не поддерживает установку схемы только на время соединения.
Существует метод setSchema(String)
в объекте JDBC Connection, но MS не поддерживает его (также проверено, посмотрев их источник на Github). Не только это, но я также не могу найти способ использовать T-SQL.
Есть ли другой способ установить схему соединения в моем ConnectionProvider или мне нужно переключиться на совершенно другой подход (например, на основе столбца дискриминатора)?
К вашему сведению, схемы должны быть динамическими, поскольку арендаторы могут создаваться через пользовательский интерфейс.