簡體   English   中英

可以在一個JDBC連接中有兩個並發事務嗎?

[英]Is possible to have two concurrent transactions in one JDBC connection?

現在我有兩個對象在自動提交模式下共享與Oracle數據庫的數據庫連接。 但是現在兩個對象都需要啟動自己的事務才能完成工作。

結果是什么?

是否有必要為每個對象提供自己的連接以便進行並發事務,或者是否可以保持代碼不變並對兩個並發事務使用相同的連接?

如果我有10000個對象而不是2個,那么最佳實踐是什么? 如果每個對象都可以啟動事務,我需要多少個數據庫連接。 我需要10000個數據庫連接嗎?

一個連接上不可能有兩個事務。 除了Connection中任何潛在的線程問題之外,只有一個commit()方法,它提交自上次提交/回滾以來的所有活動,無論它們來自哪個對象。

如果需要兩個事務,請使用兩個連接。

如果您有1000個對象,則使用連接池來合理化與數據庫的活動連接數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM