Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Executando consulta nativa com Hibernate 4.1


Você pode obter acesso à conexão sem proxy no trabalho chamando:
public void execute(Connection connection) throws SQLException {
    Connection unproxiedConnection = connection.unwrap( Connection.class );
    ...
}

Esse formulário aproveita o método unwrap JDBC 4, nós simplesmente delegamos isso para a conexão subjacente. Ou se você precisar especificamente de um OracleConnection:
public void execute(Connection connection) throws SQLException {
    OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
    ...
}

Você também pode usar:
public void execute(Connection connection) throws SQLException {
    Connection unproxiedConnection = ( (JdbcWrapper<Connection>) connection ).getWrappedObject();
    ...
}

Eu tenho ido e vindo em termos de contemplar permitir que o Trabalho signifique que ele quer uma Conexão sem proxy, mas dada a disponibilidade de Connection#unwrap, não tenho tanta certeza de que haja um benefício real.