この org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations を実装する NamedParamameterJdbcTempalte の update メソッドを使用しています。
ドキュメントを調べたところ、「このメソッドは、指定された引数をバインドする準備済みステートメントを介して更新を発行する」ということだけが見つかりました。
私はこのようなコードを持っています
//Calling jdbcTemplate.update() here on Foo objects
//Calling another update on the same set of Foo objects (I know it's dump but let's just leave it as is)
ここで私の質問は、最初の更新はトランザクションが完了するまで待ってから戻るのか、それともそのリクエストを発行して戻るだけなのかということです。2 行目に到達したときに、update の最初の呼び出しによって発行されたトランザクションが完全に終了したという保証はありますか?
mysql のデッドロックが時々発生するようですが、これは、2 回目の更新が行われたときに最初の更新が完了していないためだと思われます。
この質問を見つけましたが、答えは私の質問に実際には答えていません。 mysql を回避する方法 'ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションを再開してみてください」