при печати уровня изоляциикак установить целочисленное значение для уровня изоляции транзакций
DatabaseMetaData dbMetaData = conn.getMetaData();
if (dbMetaData .supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE)) {
System.out.println("Transaction Isolation level= "
+ conn.getTransactionIsolation());
System.out.println(dbMetaData.getDefaultTransactionIsolation());
}
для соединения я получаю целочисленное значение 4 и для базы данных я получить значение 2
I хочу установить уровень изоляции как SERIALIZABLE, поскольку он, похоже, работает для большинства проблем (это то, что я слышал в любом случае: - /), но я не понимаю, как установить его, поскольку он запрашивает значение int
conn.setTransactionIsolation(level);
Что означают целые уровни и в каком порядке уровни транзакций? Я использую базу данных mysql
да я читал, что оттуда только я думал, что я должен установить его в качестве seriliazable, поскольку он предотвращает всю грязную проблему чтения и т.д. Но как насчет целых чисел и уровней ??? как узнать, какое целое относится к тому, какой уровень вызывает, если его уже установлено как seriliazable, не имеет смысла снова установить его;) – Nav
@Nav Да, это предотвращает все это, но также имеет наименьшую производительность/пропускную способность. Я просто убедился, что вы знаете о компромиссах. Кроме того, если я ответил на ваш вопрос, то PLS принять его как ответ –
@Panga поблагодарить u за ответ +1 :), но я хотел знать о целочисленных уровнях conn.getTransactionIsolation(), как я могу сделать это более понятным, потому что я Не знаю, что эти целые числа ссылаются на .Ex, если он показывает, что по умолчанию он поддерживает TRANSACTION_READ_COMMITTED или что-то у вас знает – Nav