Module org.jooq

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 ResultQuery.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:
  • Constructor Details

    • TooManyRowsException

      public TooManyRowsException()
      Constructor for TooManyRowsException.
    • TooManyRowsException

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