Como posso executar uma instrução SQL personalizada diretamente após obter uma conexão de database com o Spring Boot?
O SQL precisa ser executado toda vez que uma nova conexão é estabelecida.
A solução deve funcionar com a implementação DataSource padrão do Spring Boot (que eu acho que é uma fonte de dados de pool do Tomcat).
Não importa qual seja a afirmação, mas no meu caso será ALTER SESSION SET CURRENT_SCHEMA=xxxx
O pool de conexão Jdbc do Tomcat possui um parâmetro “initSQL” https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
Parece que você pode configurar cada parâmetro do pool em seu arquivo .properties (@see https://stackoverflow.com/a/25573035/280244 )
Então experimente
Inicialização de spring antes de 1.4:
spring.datasource.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx
Spring Boot 1.4 ou posterior:
spring.datasource.tomcat.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx