Class ResultSetWork<R>

  • All Implemented Interfaces:
    org.hibernate.jdbc.ReturningWork<R>
    Direct Known Subclasses:
    AbstractSqlQuery.CountWork

    public abstract class ResultSetWork<R>
    extends Object
    implements org.hibernate.jdbc.ReturningWork<R>
    A work implementation that executes an SQL query on the connection, and returns a value that is picked by a subclass from the resulting ResultSet. This class needs to be subclassed and implementors should provide an implementation of the getResult(ResultSet) method. By overridding the setParameters(PreparedStatement) method it is possible to set parameters on the prepared statement before the SQL is executed.
    Version:
    2.9
    Author:
    nicklas
    Last modified
    $Date: 2014-06-10 13:27:02 +0200 (ti, 10 jun 2014) $
    • Constructor Detail

      • ResultSetWork

        public ResultSetWork​(SessionControl sc,
                             String sql)
        Create a new work item.
        Parameters:
        sc - The session control to keep alive during the execution of the sql, or null
        sql - The sql to execute
    • Method Detail

      • execute

        public R execute​(Connection connection)
                  throws SQLException
        From the Work interface -----------------------
        Specified by:
        execute in interface org.hibernate.jdbc.ReturningWork<R>
        Throws:
        SQLException
      • getSql

        public String getSql()
        The sql that is executed by this work.
        Since:
        3.1
      • getResult

        protected abstract R getResult​(ResultSet rs)
                                throws SQLException
        This method needs to be overridden by subclasses to extract the result from the ResultSet. The result set will be closed after the call to this method.
        Parameters:
        rs - The result set to get the result from
        Throws:
        SQLException