U kunt toegang krijgen tot de Unproxied Connection in Work door te bellen naar:
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = connection.unwrap( Connection.class );
...
}
Die vorm maakt gebruik van de JDBC 4 unwrap-methode, we delegeren dat eenvoudig aan de onderliggende verbinding. Of als u specifiek een OracleConnection nodig heeft:
public void execute(Connection connection) throws SQLException {
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
...
}
Je zou ook kunnen gebruiken:
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = ( (JdbcWrapper<Connection>) connection ).getWrappedObject();
...
}
Ik ben heen en weer gegaan met het overwegen om het Werk toe te staan om aan te geven dat het een niet-geproxieerde verbinding wil, maar gezien de beschikbaarheid van Connection#unwrap ben ik er niet zo zeker van of er een echt voordeel is.