Хотя это уродливое решение, вы можете использовать параметр: не традиционный параметр JDBC / SQL #{schema}
, а прямой параметр ${schema}
.Видите там знак доллара ($)?
При использовании прямого параметра ${param}
вы можете вставить в SQL все, что захотите.Даже целый оператор SQL, если хотите.Используйте его с осторожностью и только в крайнем случае .
Пожалуйста, внимательно учтите, что эта вставка прямых параметров в SQL допускает SQL-инъекцию .Вам необходимо тщательно контролировать значение свойства / параметра schema
, чтобы оно не исходило от пользователя или какого-либо внешнего источника.Если вы сделаете это так, это будет безопасно для использования.
Однако более чистое решение - использовать отдельный источник данных.Единственный недостаток - вам может потребоваться включить двухфазную фиксацию, если вам нужны транзакции, которые охватывают таблицы из обоих источников данных.