Puoi accedere a Connection in Work senza proxy chiamando:
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = connection.unwrap( Connection.class );
...
}
Quel modulo sfrutta il metodo di unwrap di JDBC 4, lo deleghiamo semplicemente alla connessione sottostante. O se hai specificamente bisogno di una OracleConnection:
public void execute(Connection connection) throws SQLException {
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
...
}
Potresti anche usare:
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = ( (JdbcWrapper<Connection>) connection ).getWrappedObject();
...
}
Sono andato avanti e indietro in termini di contemplazione di consentire al Lavoro di significare che desidera una Connessione non delegata, ma data la disponibilità di Connection#unwrap non sono così sicuro che ci sia un reale vantaggio.