@Override protected void registerSpecificTypeOfOutParameter( CallableStatement statement, Class<?> runtimeType, int index) throws SQLException { if (oracleSuppliedDriver) { if (runtimeType == RefCursorType.class) { statement.registerOutParameter(index, CURSOR_TYPE); return; } else if (runtimeType == TypeFacility.RUNTIME_TYPES.OBJECT) { // TODO: this is not currently handled and oracle will throw an exception. // we need additional logic to handle sub types (possibly using the nativeType) } } super.registerSpecificTypeOfOutParameter(statement, runtimeType, index); }