基本上我有(忽略異常處理等):在Derby(JDBC)中提交事務之前,我可以關閉事務中的語句嗎?
connection.setAutoCommit(false);
Statement statement1 = connection.createStatement();
statement1.executeUpdate("...");
statement1.close();
Statement statement2 = connection.createStatement();
statement2.executeUpdate("...");
statement2.close();
connection.commit();
如果我理解正確的話應該不會有任何影響,因爲它所做的事情是免費爲GC的資源。 Especially with Derby:當不再需要時,您應該顯式關閉語句,結果集和連接。與Derby的連接是應用程序外部的資源,垃圾收集器不會自動關閉它們。
但它會導致交易的任何問題?我不相信交易依賴於該聲明。任何人都可以請確認嗎?
看來,如果關閉一個Statement,_transaction_仍然在數據庫端打開(等待提交或回滾)。只有在向連接發出提交或回滾命令時才結束/關閉。我對嗎? – ADTC