JDBCを使用してPostgresデータベースと通信しています。アプリ全体が単一の接続で実行されている場合、つまり、への呼び出しは1回だけです。
DriverManager.getConnection("jdbc:postgresql://host:5432/database", user, pass);
しかし、このConnectionオブジェクトはJavaの複数のスレッド間で共有されます。Javaスレッドがインターリーブする可能性があることを考えると、SQLトランザクション(BEGINおよびCOMMITスタイル)を使用しようとすると、非常に混乱して壊れてしまうと思いますか?オブジェクトは、ConnectionどのJavaスレッドがクエリを実行するためにそれを使用しているかを「知っています」か?
ConnectionJavaスレッドごとに1つのオブジェクトがあり、SQLトランザクションをそのように使用する必要がありますか?または、Javaですべてのトランザクション分離を使用して実行する必要がありますsynchronizedか?