@Override protected void autoDiscoverTypes(ResultSet rs) { try { Metadata metadata = new Metadata(getFactory(), rs); rowProcessor.prepareForAutoDiscovery(metadata); List<String> aliases = new ArrayList<String>(); List<Type> types = new ArrayList<Type>(); for (int i = 0; i < rowProcessor.columnProcessors.length; i++) { rowProcessor.columnProcessors[i].performDiscovery(metadata, types, aliases); } validateAliases(aliases); resultTypes = ArrayHelper.toTypeArray(types); transformerAliases = ArrayHelper.toStringArray(aliases); } catch (SQLException e) { throw new HibernateException("Exception while trying to autodiscover types.", e); } }
@Override protected Object[] getResultRow(Object[] row, ResultSet rs, SessionImplementor session) throws SQLException, HibernateException { return rowProcessor.buildResultRow(row, rs, session); }
@Override protected Object getResultColumnOrRow( Object[] row, ResultTransformer transformer, ResultSet rs, SessionImplementor session) throws SQLException, HibernateException { return rowProcessor.buildResultRow(row, rs, transformer != null, session); }