Oracle
 sql >> Database >  >> RDS >> Oracle

Esecuzione di query nativa con Hibernate 4.1

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.