How can I run a custom SQL statement directly after obtaining a DB connection with Spring Boot?
The SQL needs to be run each time a new connection is established.
The solution should work with the Spring Boot default DataSource implementation (which I think is a Tomcat pooling data source).
It doesn't really matter what the statement is, but in my case it will be
ALTER SESSION SET CURRENT_SCHEMA=xxxx
Tomcat Jdbc Connection pool has a parameter "initSQL" https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
It looks like you can configure each pool parameter in your .properties file (@see http://stackoverflow.com/a/25573035/280244)
So give a try,
Spring Boot before 1.4:
spring.datasource.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx
Spring Boot 1.4 or later:
spring.datasource.tomcat.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx