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