A maneira correta de fazer isso seria usar uma implementação personalizada de
o.h.c.ConnectionProvider
. No getConnection()
método, você terá a oportunidade de converter a Connection
normal em um OracleConnection
e fazer vodu escuro com ele antes de devolvê-lo. Essa interface possui várias implementações que você pode estender para facilitar o trabalho, dependendo de como você obtém a conexão inicial (por exemplo, de uma fonte de dados).
Esta postagem nos fóruns do Hibernate mostra uma implementação que pode ser usada como exemplo inicial (o pôster também está fazendo magia negra com um
OracleConnection
então é um bom exemplo).