Class JdbcUpdateAffectedIncorrectNumberOfRowsException

  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by org.springframework.core.NestedRuntimeException
                  extended by org.springframework.dao.DataAccessException
                      extended by org.springframework.dao.NonTransientDataAccessException
                          extended by org.springframework.dao.InvalidDataAccessResourceUsageException
                              extended by org.springframework.dao.IncorrectUpdateSemanticsDataAccessException
                                  extended by org.springframework.jdbc.JdbcUpdateAffectedIncorrectNumberOfRowsException
All Implemented Interfaces:

public class JdbcUpdateAffectedIncorrectNumberOfRowsException
extends IncorrectUpdateSemanticsDataAccessException

Exception thrown when a JDBC update affects an unexpected number of rows. Typically we expect an update to affect a single row, meaning it's an error if it affects multiple rows.

Rod Johnson, Juergen Hoeller
See Also:
Serialized Form

Constructor Summary
JdbcUpdateAffectedIncorrectNumberOfRowsException(String sql, int expected, int actual)
          Constructor for JdbcUpdateAffectedIncorrectNumberOfRowsException.
Method Summary
 int getActualRowsAffected()
          Return the number of rows that have actually been affected.
 int getExpectedRowsAffected()
          Return the number of rows that should have been affected.
 boolean wasDataUpdated()
          Return whether data was updated.
Methods inherited from class org.springframework.core.NestedRuntimeException
contains, getMessage, getMostSpecificCause, getRootCause
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, 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


public JdbcUpdateAffectedIncorrectNumberOfRowsException(String sql,
                                                        int expected,
                                                        int actual)
Constructor for JdbcUpdateAffectedIncorrectNumberOfRowsException.

sql - SQL we were tring to execute
expected - the expected number of rows affected
actual - the actual number of rows affected
Method Detail


public int getExpectedRowsAffected()
Return the number of rows that should have been affected.


public int getActualRowsAffected()
Return the number of rows that have actually been affected.


public boolean wasDataUpdated()
Description copied from class: IncorrectUpdateSemanticsDataAccessException
Return whether data was updated. If this method returns false, there's nothing to roll back.

The default implementation always returns true. This can be overridden in subclasses.

wasDataUpdated in class IncorrectUpdateSemanticsDataAccessException