次のコマンドを呼び出すことで、プロキシされていないConnectioninWorkにアクセスできます。
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = connection.unwrap( Connection.class );
...
}
このフォームはJDBC4unwrapメソッドを利用しており、基礎となる接続にそれを委任するだけです。または、特にOracleConnectionが必要な場合:
public void execute(Connection connection) throws SQLException {
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
...
}
次のものも使用できます。
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = ( (JdbcWrapper<Connection>) connection ).getWrappedObject();
...
}
Workがプロキシされていない接続を必要としていることを示すことを許可することを検討するという点で私は行き来しましたが、Connection#unwrapが利用可能であることを考えると、本当のメリットがあるかどうかはわかりません。