В JDBC поддерживаются следующие уровни изоляции транзакций:
- TRANSACTION_NONE: Указывает на то, что транзакции не поддерживаются.
- TRANSACTION_READ_UNCOMMITTED: Позволяет "грязное" чтение (dirty reads). Транзакция может видеть данные, которые еще не были подтверждены другими транзакциями.
- TRANSACTION_READ_COMMITTED: Запрещает "грязное" чтение. Транзакция видит только те данные, которые были подтверждены. Однако возможны неповторяющиеся чтения (non-repeatable reads) и фантомы (phantom reads).
- TRANSACTION_REPEATABLE_READ: Запрещает "грязное" чтение и неповторяющиеся чтения. Если транзакция читает одну и ту же строку несколько раз, она всегда видит одно и то же значение. Тем не менее, возможны фантомы.