Class TooManyRowsException

  • All Implemented Interfaces:

    public class TooManyRowsException
    extends InvalidResultException
    Too many rows (more than 1) were returned from a ResultQuery.

    Like any other InvalidResultException, this exception indicates to clients that the result was not what they expected, but this does not have any effect on the outcome of the statement producing that result. For instance, if calling ResultQuery.fetchOne() on a SELECT .. FOR UPDATE query, or InsertResultStep.fetchOne() on an INSERT statement, the database change will still be executed: the rows will still be locked or inserted.


    Methods throwing TooManyRowsException need to retrieve at most two records from the underlying JDBC ResultSet, which, depending on the Statement.getFetchSize() / ResultQuery.fetchSize(int), might incur additional database roundtrips. If this causes problems, ResultQuery.fetchAny() may be preferred.

    Lukas Eder
    See Also:
    Serialized Form
    • Constructor Summary

      Constructor Description
      Constructor for TooManyRowsException.
      TooManyRowsException​(java.lang.String message)
      Constructor for TooManyRowsException.
    • Method Summary

      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TooManyRowsException

        public TooManyRowsException()
        Constructor for TooManyRowsException.
      • TooManyRowsException

        public TooManyRowsException​(java.lang.String message)
        Constructor for TooManyRowsException.
        message - the detail message