0
當我打印的隔離級別如何設置事務隔離級別的整數值
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
我希望將隔離級別設置爲SERIALIZABLE,因爲它似乎適用於大多數問題(這正是我所聽到的: - /)但我沒有弄清楚如何將它設置爲它的int值
conn.setTransactionIsolation(level);
整數級別指什麼以及交易級別的順序是什麼?我正在使用mysql數據庫
是啊,我讀了從那裏只有我想因爲它可以防止所有的髒讀問題等。但對於整數和水平,我應該把它設置爲seriliazable ???我如何找出哪個整數引用哪個級別,如果它已經設置爲seriliazable,則將其設置爲再次正確無用;) – Nav 2011-12-26 19:24:29
@Nav是的,它可以防止所有這些,但性能/吞吐量也最低。我只是確保你意識到這些權衡。另外,如果我回答你的問題,那麼請接受它作爲答案 – 2011-12-26 19:26:18
@Panga謝謝你的答案+1 :)但我想知道整數水平conn.getTransactionIsolation()我怎麼能使這個更可讀的原因我不不知道這些整數是指什麼。如果它顯示默認情況下它支持TRANSACTION_READ_COMMITTED或者你知道 – Nav 2011-12-26 19:33:07