Oracle
 sql >> Base de données >  >> RDS >> Oracle

Exécuter une requête native avec Hibernate 4.1

Vous pouvez accéder à la connexion sans proxy dans Work en appelant :

public void execute(Connection connection) throws SQLException {
    Connection unproxiedConnection = connection.unwrap( Connection.class );
    ...
}

Ce formulaire exploite la méthode de déballage JDBC 4, nous déléguons simplement cela à la connexion sous-jacente. Ou si vous avez spécifiquement besoin d'une OracleConnection :

public void execute(Connection connection) throws SQLException {
    OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
    ...
}

Vous pouvez également utiliser :

public void execute(Connection connection) throws SQLException {
    Connection unproxiedConnection = ( (JdbcWrapper<Connection>) connection ).getWrappedObject();
    ...
}

J'ai fait des allers-retours en envisageant de permettre au travail de signifier qu'il veut une connexion sans proxy, mais étant donné la disponibilité de Connection#unwrap, je ne suis pas sûr qu'il y ait un réel avantage.