問題は共有ロックにあります。デフォルトでは、createJobExecutionメソッドは、シリアル化可能な分離レベルでトランザクション内で実行されます。この分離レベルを使用すると、InnoDBはすべてのプレーンSELECTステートメントを暗黙的にSELECT ... LOCK INSHAREMODEに変換します。したがって、JOB_INST_UNは、インスタンステーブルに対するクエリのために共有ロックされます。次に、ジョブインスタンスを挿入するときに、JOB_INST_UNの排他ロックが必要です。この一意のインデックスが別のトランザクションによって共有されてロックされている場合、デッドロックが発生しました。