Я использую метод обновления в NamedParamameterJdbcTempalte, который реализует этот org.springframework.jdbc.core. namedparam.NamedParameterJdbcOperations.
Я просмотрел документы и единственное, что я смог найти, - это «этот метод выдает обновление через подготовленный оператор, связывающий заданные аргументы».
У меня есть код, который выглядит так
//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)
Теперь мой вопрос: дождется ли первое обновление, пока транзакция не будет завершена, а затем вернется, или оно просто выдаст этот запрос и вернется? Когда я перейду ко второй строке, есть ли у меня какие-либо гарантии, что транзакция, инициированная первым вызовом update, полностью завершена?
Мне кажется, что время от времени я наблюдаю взаимоблокировку mysql, и я подозреваю, что это связано с тем, что первое обновление не завершило свою работу, когда приходит второе.
Нашел этот вопрос, но ответ на мой вопрос не отвечает. Как избежать использования mysql 'Обнаружен тупик при попытке получить блокировку; попробуйте перезапустить транзакцию »