Блокировка JDBC:
select * from Foo for update
Если блокировка не удалась, mysql будет вызывать SQLTransactionRollbackException, а оракул будет вызывать SQLException. Как определить, вызвано ли исключение блокировкой (например, для обновления)?
В оракуле вы увидите ORA-04020: обнаружен тупик при попытке заблокировать объект. Код можно проверить, получив код ошибки из SQLException.
try {
...do work
} catch (SQLException e) {
int errCode = e.getErrorCode();
}